信号抽样与恢复

  • 格式:doc
  • 大小:474.50 KB
  • 文档页数:8

.

精品 实验一 信号抽样与恢复

一、实验目的

学会用MATLAB实现连续信号的采样和重建

二、实验原理

1.抽样定理

若)(tf是带限信号,带宽为m, )(tf经采样后的频谱)(sF就是将)(tf的频谱

)(F在频率轴上以采样频率s为间隔进行周期延拓。因此,当s2m时,不会发生频率混叠;而当 s<2m 时将发生频率混叠。

2.信号重建

经采样后得到信号)(tfs经理想低通)(th则可得到重建信号)(tf,即:

)(tf=)(tfs*)(th

其中:)(tfs=)(tf)(snTt=)()(ssnTtnTf

)()(tSaTthccs

所以:

)(tf=)(tfs*)(th=)()(ssnTtnTf*)(tSaTccs

=csT)]([)(scsnTtSanTf

上式表明,连续信号可以展开成抽样函数的无穷级数。

利用MATLAB中的tttc)sin()(sin来表示)(tSa,有 )(sin)(tctSa,所以可以得到在MATLAB中信号由)(snTf重建)(tf的表达式如下:

)(tf=csT)]([sin)(scsnTtcnTf

我们选取信号)(tf=)(tSa作为被采样信号,当采样频率s=2m时,称为临界采样。.

精品 我们取理想低通的截止频率.

精品 c=m。下面程序实现对信号)(tf=)(tSa的采样及由该采样信号恢复重建)(tSa:

三、上机实验内容

1.验证实验原理中所述的相关程序;

2.设f(t)=0.5*(1+cost)*(u(t+pi)-u(t-pi)) ,由于不是严格的频带有限信号,但其频谱大部分集中在[0,2]之间,带宽m可根据一定的精度要求做一些近似。试根据以下两种情况用

MATLAB实现由f(t)的抽样信号fs(t)重建f(t) 并求两者误差,分析两种情况下的结果。

(1) m=2 , wc=1.2m , Ts=1;

(2) m=2 , wc=2m , Ts=2.5

3.对以下simulink ch6example1_He7.mdl低通采样定理以程序实现,具体参数参考框图内参数。

.

精品

实验结果:

一、 验证试验现象

二、

(1) wm=2 , wc=1.2wm , Ts=1;

wm=2;

wc=1.2*wm;

Ts=1;

ws=2*pi/Ts;

n=-100:100;

nTs=n*Ts;

f=0.5*(1+cos(nTs)).*rectpuls(n,2*pi);.

精品 Dt=0.005;

t=-15:Dt:15;

fa=f*Ts*wc/pi*sinc((wc/pi)*(ones(length(nTs),1)*t-nTs'*ones(1,length(t))));

error=abs(fa-(0.5*(1+cos(t)).*rectpuls(t,2*pi))); %重构信号与原信号误差

t1=-15:0.5:15;

f1=0.5*(1+cos(t1)).*rectpuls(t1,2*pi);

subplot(311);

stem(t1,f1);

xlabel('kTs');

ylabel('f(kTs)');

title('sa(t)=0.5*(1+cost)*(u(t+pi)-u(t-pi)) 的采样信号');

subplot(312);

plot(t,fa)

xlabel('t');

ylabel('fa(t)');

title('由sa(t)=0.5*(1+cost)*(u(t+pi)-u(t-pi))的过采样信号重构sa(t)');

grid;

subplot(313);

plot(t,error);

xlabel('t');

ylabel('error(t)');

title('过采样信号与原信号的误差error(t)');

(2) wm=2 , wc=2 , Ts=2.5

将频率在上述程序改为:

wm=2;wc=wm; Ts=2.5即可;.

精品 三、将模块改变为程序

% Specify the random number stream

t=linspace(0,1,4000);

input = rand(1,4000);

figure(1)

plot(t,input);

%设计50th巴特沃斯模拟低通滤波器

Norder=50;

fn=150;

[b,a]=butter(Norder, fn,

's'); % 计算H(s)

figure(2);

freqs(b,a); % 也可用指令freqs直接画出H(s)的频率响应曲线。

xlabel('频率 Hz');ylabel('相角 rad');

%滤波

Hs=tf(b,a);

yout1 = lsim(Hs,input,t);

figure(3);

plot(t,yout1);

figure(4)

ts=1/4000;

[Xk,f]=fftseq(yout1,ts); plot(f,20*log10(fftshift(abs(Xk))));

title('The original signal spectrum');

xlabel('Frequency/Hz');

ylabel('PSD/w');

%pulse gennerate

f0=200;

yout2=0.5*square(2*pi*f0*t,10)+0.5;

figure(5)

plot(t,yout2);

title('Duty 10%');

axis auto;

%product

yout3=yout1'.*yout2;

figure(6)

plot(t,yout3);

%filter

figure(7)

yout4 = lsim(Hs,yout3,t);

plot(t,yout4) %fft yout4.

精品 figure(8)

[Xk_2,f_2]=fftseq(yout4,ts);

plot(f_2,20*log10(fftshift(abs(Xk_2))));

title('The original signal spectrum');

xlabel('Frequency/Hz');

ylabel('PSD/w');

%fft yout3

figure(9)

[Xk_3,f_3]=fftseq(yout3,ts);

plot(f_3,20*log10(fftshift(abs(Xk_3))));

title('The original signal spectrum');

xlabel('Frequency/Hz');

ylabel('PSD/w');

%fft yout3

figure(10)

[Xk_4,f_4]=fftseq(yout2,ts);

plot(f_4,20*log10(fftshift(abs(Xk_4))));

title('The original signal spectrum');

xlabel('Frequency/Hz');

ylabel('PSD/w');

%plot

figure(11)

plot(t,yout1,'r-');hold on

plot(t,yout3,'b-');hold on

%plot

figure(12)

plot(t,yout4,'r-');hold on

(1)产生随机信号

00.10.20.30.40.50.60.70.80.9100.10.20.30.40.50.60.70.80.91

(2)滤波器的频响 (3)随机信号经过滤波器成为限带信号

(4)滤波之后信号的频谱-2000-1500-1000-5000500100015002000-90-80-70-60-50-40-30-20-100The original signal spectrumFrequency/HzPSD/w

(5)产生脉冲串

00.10.20.30.40.50.60.70.80.9100.10.20.30.40.50.60.70.80.91Duty 10%

(6)对限带信号进行采样.

精品 00.10.20.30.40.50.60.70.80.9100.10.20.30.40.50.60.7

(7)经低通滤波器对信号进行恢复

00.10.20.30.40.50.60.70.80.9100.010.020.030.040.050.060.07

(8)已恢复信号的频谱

-2000-1500-1000-5000500100015002000-110-100-90-80-70-60-50-40-30The original signal spectrumFrequency/HzPSD/w

(9)已采样信号的频谱出现频谱周期延拓

-2000-1500-1000-5000500100015002000-110-100-90-80-70-60-50-40-30-20The original signal spectrumFrequency/HzPSD/w

如有侵权请联系告知删除,感谢你们的配合!