数字信号处理实验(三):连续时间信号的数字处理

女爷i 2022-04-05 07:20 505阅读 0赞

目录

一、实验目的:

二、实验内容及要求:

  1. 连续时间信号的抽样及重构:

  2. 模拟滤波器的设计:

三、实验结果及问题回答:

  1. 连续时间信号的抽样及重构:

  2. 模拟滤波器的设计:


一、实验目的:

  1. 掌握通过周期抽样实现连续时间信号到离散时间信号的转换,验证抽样定理,了解信号重构的过程;掌握模拟滤波器的设计方法。

二、实验内容及要求:

1. 连续时间信号的抽样及重构:

(1)修改程序P5.1,将正弦信号的频率分别改为3Hz和7Hz,画出抽样结果图,相应的等效离散时间信号之间有差别吗?若没有差别,为什么?

(2)修改程序P5.2,将正弦信号的频率分别改为3Hz和7Hz,画出重构信号。

2. 模拟滤波器的设计:

修改程序P5.4,设计巴特沃兹低通滤波器,其中通带截止频率为3000Hz,阻带截止频率为4000Hz,通带波纹0.5dB,最小阻带衰减30dB,绘制增益响应。所设计的滤波器的阶数和3dB截止频率分别是多少?

三、实验结果及问题回答:

1. 连续时间信号的抽样及重构:

  1. 实验结果:

    clf;

    t = 0:0.0005:1;

    f = 3;%设定正弦信号的频率

    xa = cos(2pif*t);%生成正弦信号

    subplot(2,1,1)

    plot(t,xa);grid

    xlabel(‘Time, msec’);ylabel(‘Amplitude’);

    title(‘Continuous-time signal x_{a}(t)’);

    axis([0 1 -1.2 1.2])

    subplot(2,1,2);

    T = 0.1;%设定采样周期

    n = 0:T:1;

    xs = cos(2pif*n);%对正弦信号进行采样

    k = 0:length(n)-1;

    stem(k,xs);grid;

    xlabel(‘Time index n’);ylabel(‘Amplitude’);

    title(‘Discrete-time signal x[n]’);

    axis([0 (length(n)-1) -1.2 1.2])

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1hpYW9tb19oYWE_size_16_color_FFFFFF_t_70

  1. clf;
  2. t = 0:0.0005:1;
  3. f = 7;%设定正弦信号的频率
  4. xa = cos(2*pi*f*t);%生成正弦信号
  5. subplot(2,1,1)
  6. plot(t,xa);grid
  7. xlabel('Time, msec');ylabel('Amplitude');
  8. title('Continuous-time signal x_{a}(t)');
  9. axis([0 1 -1.2 1.2])
  10. subplot(2,1,2);
  11. T = 0.1;%设定采样周期
  12. n = 0:T:1;
  13. xs = cos(2*pi*f*n);%对正弦信号进行采样
  14. k = 0:length(n)-1;
  15. stem(k,xs);grid;
  16. xlabel('Time index n');ylabel('Amplitude');
  17. title('Discrete-time signal x[n]');
  18. axis([0 (length(n)-1) -1.2 1.2])

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1hpYW9tb19oYWE_size_16_color_FFFFFF_t_70 1

等效的离散时间信号没有差别,因为:cos(2\\pi \*3\*0.1)=cos(2\\pi\*7\*0.1) 故采样结果一样。

(2)实验结果:

  1. clf;
  2. T = 0.1;
  3. f = 3;%设定正弦信号的频率
  4. n = (0:T:1)';
  5. xs = cos(2*pi*f*n);%生成离散的正弦信号xs
  6. t = linspace(-0.5,1.5,500)';%利用linspace()函数来生成时间向量
  7. ya = sinc((1/T)*t(:,ones(size(n))) - (1/T)*n(:,ones(size(t)))')*xs;%对离散信号进行重构
  8. plot(n,xs,'o',t,ya);grid;
  9. xlabel('Time, msec');ylabel('Amplitude');
  10. title('Reconstructed continuous-time signal y_{a}(t)');
  11. axis([-0.5 1.5 -1.2 1.2]);

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1hpYW9tb19oYWE_size_16_color_FFFFFF_t_70 2

  1. clf;
  2. T = 0.1;
  3. f = 7;%设定正弦信号的频率
  4. n = (0:T:1)';
  5. xs = cos(2*pi*f*n);%生成离散的正弦信号xs
  6. t = linspace(-0.5,1.5,500)';%利用linspace()函数来生成时间向量
  7. ya = sinc((1/T)*t(:,ones(size(n))) - (1/T)*n(:,ones(size(t)))')*xs;%对离散信号进行重构
  8. plot(n,xs,'o',t,ya);grid;
  9. xlabel('Time, msec');ylabel('Amplitude');
  10. title('Reconstructed continuous-time signal y_{a}(t)');
  11. axis([-0.5 1.5 -1.2 1.2]);

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1hpYW9tb19oYWE_size_16_color_FFFFFF_t_70 3

2. 模拟滤波器的设计:

  1. clf;
  2. Fp = 3000;%设定通带截止频率
  3. Fs = 4000;%设定阻带截止频率
  4. Wp = 2*pi*Fp; Ws = 2*pi*Fs;
  5. [N, Wn] = buttord(Wp, Ws, 0.5, 30,'s');%生成巴特沃兹低通滤波器的阶数和等效的低通滤波器的截止频率
  6. [b,a] = butter(N, Wn, 's');%生成巴特沃兹体通滤波器的分子和分母向量
  7. wa = 0:(3*Ws)/511:3*Ws;
  8. h = freqs(b,a,wa);%求滤波器的频率响应
  9. plot(wa/(2*pi), 20*log10(abs(h)));%绘制滤波器的增益响应
  10. grid
  11. xlabel('Frequency, Hz');ylabel('Gain, dB');
  12. title('Gain response');
  13. axis([0 3*Fs -60 5]);

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1hpYW9tb19oYWE_size_16_color_FFFFFF_t_70 4

该滤波器的节数为N=16,3dB带宽为:3223.5Hz.

发表评论

表情:
评论列表 (有 0 条评论,505人围观)

还没有评论,来说两句吧...

相关阅读

    相关 数字信号处理——图像篇

    我们知道图像也是信号的一种,其实数字图像处理就是把真实世界中的连续三维随机信号投影到传感器的二维平面上,采样并量化后得到二维矩阵;通过对二维矩阵的处理,从二维矩阵图像中恢复出