信号抽样与恢复
- 格式:doc
- 大小:474.50 KB
- 文档页数:8
.
精品 实验一 信号抽样与恢复
一、实验目的
学会用MATLAB实现连续信号的采样和重建
二、实验原理
1.抽样定理
若)(tf是带限信号,带宽为m, )(tf经采样后的频谱)(sF就是将)(tf的频谱
)(F在频率轴上以采样频率s为间隔进行周期延拓。因此,当s2m时,不会发生频率混叠;而当 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
如有侵权请联系告知删除,感谢你们的配合!