Advertisement

数字信号处理MATLAB仿真

阅读量:

一、利用采样定理分别确定以下两种时间长度为 10ms 的信号。

1)谐波叠加信号,信号频率分别为 10KHz 和 20KHz,

x=cos+cos
  1. 线性调频信号,频带范围为 10-20KHz , x=cos,的最低采样频率。仿真给出采样信号的时域波形并给出频谱(真实频率为坐标)。请尝试其他采样频率给出仿真结果,并对结果进行分析
复制代码
 %-------------------------------------版本VIP.4--------------------------%%

    
 %---------------------------------更新日期2021.10.27---------------------%%
    
  
    
  
    
 f1 = 10000;                             %信号频率
    
 f2 = 20000;
    
 ts = 0.00001;                           %时间间隔
    
 t  = 0:ts:0.01 - ts;                    %定义信号的时间范围
    
 fs = 1/ts;                              %抽样频率
    
 df = fs/length(t);                       
    
 x  = cos(2*pi*f1*t)+cos(2*pi*f2*t);     %生成信号
    
  
    
  
    
 xf = fft(x);
    
 xF = abs(xf/length(t))*2;
    
 XF = fftshift(xF);
    
  
    
 figure(1)
    
 subplot(2,1,1);
    
 plot(t*1000,x);
    
 title('原始信号')
    
 xlabel('时间(毫秒)')
    
 grid on;
    
  
    
 subplot(2,1,2)
    
 plot((-fs/2 : df : fs/2 - df),XF)
    
 title('原始信号频谱')
    
 xlabel('频率(Hz)')
    
 grid on;
    
  
    
 fs = 31000;                             %采样频率
    
 dt = 1/fs;                              %采样间隔
    
 t  = 0: dt: 0.01 - dt;                  %定义信号的时间范围
    
 N  = length(t);                         %定义采样点数
    
 df = fs/length(t);  
    
 x  = cos(2*pi*f1*t)+cos(2*pi*f2*t);     %生成信号
    
  
    
 X  = fft(x);                            %FFT
    
 X1 = abs(X/N)*2;
    
 Xa = fftshift(X1);
    
  
    
 figure(2)
    
 plot((-fs/2 : df : fs/2 - df),Xa);
    
 title('采样后的频谱')
    
 xlabel('频率(Hz)')
    
 grid on;
    
    
    
    
    代码解读
复制代码
 %-------------------------------------版本VIP.4-------------------------%%

    
 %---------------------------------更新日期2021.10.27--------------------%%
    
  
    
 f0 = 10000;
    
 M  = 1e6;
    
 dt = 0.00001;
    
 t  = (0:dt:0.01-dt);                          %定义信号的时间范围
    
 fs = 1/dt;
    
 x  = cos(2*pi*(f0*t+0.5*M*t.^2));             %生成信号
    
  
    
 xa = fft(x);
    
 Xa = fftshift(abs(xa/length(t))*2);
    
  
    
 figure(1)
    
 subplot(2,1,1)
    
 plot(t*1000,x)
    
 title('原始信号')
    
 xlabel('时间(毫秒)')
    
 grid on
    
  
    
 subplot(2,1,2)
    
 plot(-fs/2 : fs/length(t) : fs/2 - fs/length(t),Xa)
    
 title('原始信号频谱')
    
 xlabel('频率(Hz)')
    
 grid on
    
  
    
 fs = 22000;                             %采样频率
    
 dt = 1/fs;                              %采样间隔
    
 t  = 0: dt: 0.01 - dt;                  %定义信号的时间范围
    
 N  = length(t);                         %定义采样点数
    
 df = fs/length(t);  
    
 x1  = cos(2*pi*(f0*t+0.5*M*t.^2));      %生成信号
    
  
    
 X  = fft(x1);                           %FFT
    
 X1 = abs(X/N)*2;
    
 Xa = fftshift(X1);
    
  
    
 figure(2)
    
 plot((-fs/2 : df : fs/2 -df),Xa);
    
 title('采样后信号频谱')
    
 xlabel('频率(Hz)')
    
 grid on
    
    
    
    
    代码解读

其中,线性调频信号参数M需要计算,

rac{athrm{d} heta }{athrm{d} t}=f_{0}+Mt , t=0 ,f_{0}=10KHz ,t=20,Mt=10KHz

通过理论分析,冲激应在1KHz和2KHz处,采样频率要大于4KHz.

设置采样频率,图中此时采样频率为31000Hz,不满足奈奎斯特采样定理 。

使用带通采样。

全部评论 (0)

还没有任何评论哟~