• Matlab reconstruct signal form sample points, convulsion


    Usually we describe reconstruction as interpolation, and there are many approaches to reach it. In this article, I introduce a new method- convulsion

    Main

    • signal function
      f ( x ) = s i n ( 15 π x + π / 10 ) f(x)=sin(15\pi x+\pi/10) f(x)=sin(15πx+π/10)

    • Convulsion Method
      在这里插入图片描述

    • Description of code
      In this practice, I tested 3 different sample frequencies: 100, 20 and 10 Hz respectively. And the reconstruct frequency is 1000 Hz. As the signal function shows above, the signal frequency is 7.5 Hz.

    • Matlab code

    clc;
    clear;
    sP=0.01;
    sX=[0:sP:1];
    sY=sin(15*pi*sX+pi/10);
    sR=0.001;
    xR=[0:sR:1];
    N = length(sX);         % number of samples
    yR = zeros(size(xR));
    for t = 1:length(xR)
        for n = 0:N-1
            yR(t) = yR(t) + sY(n+1)*sin(pi*(xR(t)-n*sP)/sP)/(pi*(xR(t)-n*sP)/sP);
        end
    end
    subplot(3,1,1)
    plot(sX,sY, ".");
    hold on;
    plot(xR,yR, "-");
    title('0.01s intervals')
    
    sP=0.05;
    sX=[0:sP:1];
    sY=sin(15*pi*sX+pi/10);
    sR=0.001;
    xR=[0:sR:1];
    N = length(sX);         % number of samples
    yR = zeros(size(xR));
    for t = 1:length(xR)
        for n = 0:N-1
            yR(t) = yR(t) + sY(n+1)*sin(pi*(xR(t)-n*sP)/sP)/(pi*(xR(t)-n*sP)/sP);
        end
    end
    subplot(3,1,2)
    plot(sX,sY, ".");
    hold on;
    plot(xR,yR, "-");
    title('0.05s intervals')
    
    sP=0.1;
    sX=[0:sP:1];
    sY=sin(15*pi*sX+pi/10);
    sR=0.001;
    xR=[0:sR:1];
    N = length(sX);         % number of samples
    yR = zeros(size(xR));
    for t = 1:length(xR)
        for n = 0:N-1
            yR(t) = yR(t) + sY(n+1)*sin(pi*(xR(t)-n*sP)/sP)/(pi*(xR(t)-n*sP)/sP);
        end
    end
    subplot(3,1,3)
    plot(sX,sY, ".");
    hold on;
    plot(xR,yR, "-");
    title('0.1s intervals')
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • Result

    在这里插入图片描述

    • analysis
    1. As result shown above, the first and second graph revice the original signal perfectly with correct frequency and amplitude. But the frequency of the third one is not right due to the sample frequency (10Hz) is lower than 2 times of signal its original frequency (15Hz). Hence, the reconstruct signal has lower frequency.
  • 相关阅读:
    回忆三年浮沉
    C#值传递与引用传递的区别和用法
    1.7.2、计算机网络体系结构分层的必要性
    基于java SpringBoot和Vue uniapp的影楼摄影预约小程序
    RK3568平台开发系列讲解(视频篇)摄像头采集视频的相关配置
    SuperMap 云原生常见问题解决办法-consul启动异常
    音视频编码格式-AAC ADT
    MySQL分页存储概念清晰梳理
    Spring-Aop面向切面编程
    Arduino框架下对ESP32 NVS非易失性存储解读以及应用示例
  • 原文地址:https://blog.csdn.net/libizhide/article/details/128164197