实验一:低通采样定理和内插与抽取实现..
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一:低通采样定理和内插与抽取实现
一.实验目的
1. 连续信号和系统的表示方法,以及坊真方法。
2.用MATLAB实现连续信号采用与重构的方法,
3. 采样信号的插值和抽取等重采样实现方法。
4. 用时域采样信号重构连续时域信号的原理和方法。
5. 用MATLAB绘图函数表示信号的基本方法,实验数据的可视化表示。二.原理
1 、时域抽样定理
令连续信号xa(t)的傅里叶变换为Xa(jΩ),抽样脉冲序列p(t)傅里叶变换为P(jΩ),抽样后的信号x^(t)的傅里叶变换为X^(jΩ)若采用均匀抽样,抽样周期Ts,抽样频率为Ωs=2πfs,由前面分析可知:抽样的过程可以通过抽样脉冲序列p(t)与连续信号xa(t)相乘来完成,即满足:x^(t)=xa(t) p(t),又周期信号f(t)傅里叶变换为:
故可以推得p(t)的傅里叶变换为:
其中:
根据卷积定理可知:
得到抽样信号x(t)的傅里叶变换为:
其表明:信号在时域被抽样后,他的频谱X(jΩ)是连续信号频谱X(jΩ)的形状以抽样频率Ω为间隔周期重复而得到,在重复过程中幅度被p(t)的傅里叶级数Pn 加权。因为Pn只是n的函数,所以X(jΩ)在重复的过程中不会使其形状发生变化。
假定信号x(t)的频谱限制在-Ωm~+Ωm的范围内, 若以间隔Ts对xa(t)进行抽样,可知抽样信号X^(t)的频谱X^(jΩ)是以Ωs为周期重复。显然,若在抽样的过程中Ωs<2Ωm,则X^(jΩ)将发生频谱混叠现象,只有在抽样的过程中满足Ωs>=2Ωm条件,X^(jΩ)才不会产生频谱的混叠,接收端完全可以由x^(t)恢复原连续信号xa(t),这就是低通信号抽样定理的核心内容。
2、信号的重建
从频域看,设信号最高频率不超过折叠频率:
Xa(jΩ)=Xa(jΩ) |Ω|<Ωs/2
Xa(jΩ)=0 |Ω|>Ωs/2
则理想取样后的频谱就不会产生混叠,故有:
让取样信号x^(t)通过一带宽等于折叠频率的理想低通滤波器:
H(jΩ)=T |Ω|<Ωs/2
H(jΩ)=0 |Ω|>Ωs/2
滤波器只允许通过基带频谱,即原信号频谱,故:
Y(jΩ)=X^(jΩ)H(jΩ)=Xa(jΩ)
因此在滤波器的输出得到了恢复的原模拟信号:
y(t)=xa(t)
从时域上看,上述理想的低通滤波器的脉冲响应为:
根据卷积公式可求得理想低通滤波器的输出为:
由上式显然可得:
则:
上式表明只要满足取样频率高于两倍信号最高频率,连续时间函数xa(t)就可用他的取样值xa(nT)来表达而不损失任何信息,这时只要把每一个取样瞬时值与内插函数式相乘求和即可得出xa(t),在每一取样点上,由于只有该取样值所对应的内插函数式不为零,所以各个取样点上的信号值不变。
三.内容
1.连续时间信号线性滤波实现
设计一个Butterworth模拟带通滤波器,设计指标为:通带频率:1000- 2000Hz,两侧过渡带宽500Hz,通带波纹1dB,阻带衰减100dB。假设一个信号,其中f1=100Hz,f2=1500Hz,f3=2900Hz。信号的采样频率为10000Hz。试将原信号与通过该滤波器的模拟信号进行比较。参考程序如下:
wp=[1000 2000]*2*pi;ws=[500 2500]*2*pi;Rp=1;Rs=100; %滤波器设计参数,对于给定Hz应乘以2
[N,Wn]=buttord(wp,ws,Rp,Rs,'s'); %求得滤波器的最小阶数和截止频率
w=linspace(1,3000,1000)*2*pi; %设置绘制频率响应的频率点
[b,a]=butter(N,Wn,'s'); %设计模拟Butterworth滤波器
H=freqs(b,a,w); %计算给定频率点的复数频率响应
magH=abs(H);phaH=unwrap(angle(H)); %计算幅频响应和相频响应
plot(w/(2*pi),20*log10(magH)); %以频率为横坐标绘制幅频响应
xlabel('频率/Hz');ylabel('振幅/dB');
title('Butterworth模拟带通滤波器');
hold on;plot([1000 1000],ylim,'r');plot([2000 2000],ylim,'r');%绘带边界
grid on
figure(2)
dt=1/10000; %模拟信号采样间隔
f1=100;f2=1500;f3=2900;%输入信号的三个频率成分
t=0:dt:0.04; %给定模拟时间段
x=sin(2*pi*f1*t)+0.5*cos(2*pi*f2*t)+0.5*sin(2*pi*f3*t); %输入信号
H=[tf(b,a)]; %滤波器在MATLAB系统中的表示
[y,t1]=lsim(H,x,t); %模拟输出
subplot(2,1,1),plot(t,x),title('输入信号') %绘出输入信号
subplot(2,1,2),plot(t1,y) %绘制输出信号
title('输出信号'),xlabel('时间/s')
2.理想矩形滤波器的时域表示
clear; clc;
fh=100;
for I=1:4
k=I; fs=k*2*fh;
N=10*k; n=-N:N;
dt=1/fs; T=N*dt;
t=-T:dt:T;
%h=2*fh/fs*sinc(n/k);
%h=sinc(n/k);
subplot(2,2,I)
plot(t,h); hold on;
stem(t,h); hold on;
plot(t,zeros(length(t)),'linewidth',3);
title(['fs/2fh=k,k=',num2str(k)],'fontsize',28);
axis('off')
end
3. 连续时间信号的采样和重建
①、分别用150HZ及300HZ对信号采样
源信号为:
fa=5*sin(2*pi*40*t1)+1.8*sin(4*pi*40*t1)+0.8*sin(5*pi*40*t1),用150Hz的频率对f(t)进行采样,其采样图如图1所示;用300Hz的频率对f(t)进行采样,其采样图如图2所示。程序如下:
fs1=150;
t1=-0.1:1/fs1:0.1;
fa=5*sin(2*pi*40*t1)+1.8*sin(4*pi*40*t1)+0.8*sin(5*pi*40*t1);
figure(1);plot(t1,fa),xlabel('fs1=150Hz时,fa采样时域图');
hold off;
fs2=300;
t2=-0.1:1/fs2:0.1;
fb=5*sin(2*pi*40*t2)+1.8*sin(4*pi*40*t2)+0.8*sin(5*pi*40*t2);