信号采样与重构
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验五 信号采样与重构
一、实验目的:学会用MATLAB 实现连续信号的采样和重建
二、实验原理
1.抽样定理
若)(t f 是带限信号,带宽为m ω, )(t f 经采样后的频谱)(ωs F 就是将)(t f 的频谱)(ωF 在频率轴上以采样频率s ω为间隔进行周期延拓。因此,当s ω≥m ω时,不会发生频率混叠;而当 s ω 2.信号重建 经采样后得到信号)(t f s 经理想低通)(t h 则可得到重建信号)(t f ,即: )(t f =)(t f s *)(t h 其中:)(t f s =)(t f ∑∞∞--)(s nT t δ=∑∞ ∞--)()(s s nT t nT f δ )()(t Sa T t h c c s ωπ ω= 所以: )(t f =)(t f s *)(t h =∑∞∞--)()(s s nT t nT f δ*)(t Sa T c c s ωπ ω =πωc s T ∑∞∞--)]([)(s c s nT t Sa nT f ω 上式表明,连续信号可以展开成抽样函数的无穷级数。 利用MATLAB 中的t t t c ππ)sin()(sin =来表示)(t Sa ,有 )(sin )(π t c t Sa =,所以可以得到在MATLAB 中信号由)(s nT f 重建)(t f 的表达式如下: )(t f =πωc s T ∑∞∞--)]([sin )(s c s nT t c nT f π ω 我们选取信号)(t f =)(t Sa 作为被采样信号,当采样频率s ω=2m ω时,称为临界采样。我们取理想低通的截止频率c ω=m ω。下面程序实现对信号)(t f =)(t Sa 的采样及由该采样信号恢复重建)(t Sa : 例5-1 Sa(t)的临界采样及信号重构; wm=1; %信号带宽 wc=wm; %滤波器截止频率 Ts=pi/wm; %采样间隔 ws=2*pi/Ts; %采样角频率 n=-100:100; %时域采样电数 nTs=n*Ts %时域采样点 f=sinc(nTs/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)))); %信号重构 t1=-15:0.5:15; f1=sinc(t1/pi); subplot(211); stem(t1,f1); xlabel('kTs'); ylabel('f(kTs)'); title('sa(t)=sinc(t/pi)的临界采样信号'); subplot(212); plot(t,fa) xlabel('t'); ylabel('fa(t)'); title('由sa(t)=sinc(t/pi)的临界采样信号重构sa(t)'); grid; 例5-2 Sa(t)的过采样及信号重构和绝对误差分析 程序和例4-1类似,将采样间隔改成Ts=0.7*pi/wm , 滤波器截止频率该成wc=1.1*wm , 添加一个误差函数 wm=1; wc=1.1*wm; Ts=0.7*pi/wm; ws=2*pi/Ts; n=-100:100; nTs=n*Ts f=sinc(nTs/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-sinc(t/pi)); %重构信号与原信号误差 t1=-15:0.5:15; f1=sinc(t1/pi); subplot(311); stem(t1,f1); xlabel('kTs'); ylabel('f(kTs)'); title('sa(t)=sinc(t/pi)的采样信号'); subplot(312); plot(t,fa) xlabel('t'); ylabel('fa(t)'); title('由sa(t)=sinc(t/pi)的过采样信号重构sa(t)'); grid; subplot(313); plot(t,error); xlabel('t'); ylabel('error(t)'); title('过采样信号与原信号的误差error(t)'); 例5-3 Sa(t)的欠采样及信号重构和绝对误差分析 程序和例4-2类似,将采样间隔改成Ts=1.5*pi/wm , 滤波器截止频率该成wc=wm=1 三、上机实验内容 1.验证实验原理中所述的相关程序; 例5-1 例5-2 2.设f(t)=0.5*(1+cost)*(u(t+pi)-u(t-pi)) ,由于不是严格的频带有限信号,但其频谱大部分集中在[0,2]之间,带宽wm可根据一定的精度要求做一些近似。试根据以下两种情况用 MATLAB实现由f(t)的抽样信号fs(t)重建f(t) 并求两者误差,分析两种情况下的结果。 (1) wm=2 , wc=1.2wm , Ts=1; (2) wm=2 , wc=2 , Ts=2.5 wm=2; >> wc=1.2*wm; >> Ts=1; >> ws=2*pi/Ts; >> n=-100:100; >> nTs=n*Ts; >> f=sinc(nTs/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-sinc(t/pi)); %重构信号与原信号误差 >> t1=-15:0.5:15; >> f1=sinc(t1/pi); >> subplot(311); >> stem(t1,f1); >> xlabel('kTs'); ylabel('f(kTs)'); title('sa(t)=sinc(t/pi)的采样信号'); subplot(312); plot(t,fa) xlabel('t'); ylabel('fa(t)'); title('由sa(t)=sinc(t/pi)的过采样信号重构sa(t)'); grid; subplot(313); plot(t,error); xlabel('t'); ylabel('error(t)'); title('过采样信号与原信号的误差error(t)');