实验一低通采样定理和内插与抽取实现aWord文档格式.docx
《实验一低通采样定理和内插与抽取实现aWord文档格式.docx》由会员分享,可在线阅读,更多相关《实验一低通采样定理和内插与抽取实现aWord文档格式.docx(15页珍藏版)》请在冰豆网上搜索。
2im,则XT门)将发生频谱混叠现象,只有在抽样的过程中满足11s>
=2「m条件,XW门)才不会产生频谱的混叠,接收端完全可以由xA(t)恢复原连续信号xa(t),这就是低通信号抽样定理的核心内容。
2、信号的重建
从频域看,设信号最高频率不超过折叠频率
Xa(j门)=Xa(j门)『s/2
Xa『」)=0p|>
门s/2
则理想取样后的频谱就不会产生混叠,故有:
■90-
Ar(j=J,2ZA:
.<
jo-j„to.>
■«
—
jtijII£
^/2
让取样信号xA(t)通过一带宽等于折叠频率的理想低通滤波器
H(j"
)=T|门s/2
H(j「)=0|门|>
「s/2
滤波器只允许通过基带频谱,即原信号频谱,故:
Y(j门)=XA(j门)H(j门)=Xa(j门)
因此在滤波器的输出得到了恢复的原模拟信号:
y(t)=xa(t)
从时域上看,上述理想的低通滤波器的脉冲响应为
JT
mu于*
□n:
根据卷积公式可求得理想低通滤波器的输出为
y(t)—nT)ha(t—nT)
由上式显然可得
ha(t-nT)=sin(nT)/(^/T)(t-nT)
上式表明只要满足取样频率高于两倍信号最高频率,连续时间函数xa(t)就可用他的取样值xa(nT)来表达而不损失任何信息,这时只要把每一个取样瞬时值与内插函数式相乘求和即可得出xa(t),在每一取样点上,由于只有该取样值所对应的内插函数式不为零,所以各个取样点上的信号值不变。
1•设计连续时间信号线性滤波器分离信号组份
99
已知信号xt[=為(m1)cos2二(100m50)t,试设计滤波器,分离出如下信号:
m^0
(1)m=1,2,3……50
(2)m=51,52,53……100
(3)m=40,41,42……60
(4)m=1,2,3……40,61,62……100
据以下采样频率:
(a)fs=20000Hz(b)f^10000Hz(c)f^30000Hz
求信号频谱及相应的滤波器。
参考程序如下:
设计一个Butterworth模拟带通滤波器,设计指标为:
通带频率:
1000-
2000Hz,两侧过渡带宽500Hz,通带波纹1dB,阻带衰减100dB假设一个信号,其中f1=100Hz,f2=1500Hz,f3=2900Hz。
信号的采样频率为10000Hz=试将原信号与通过该滤波器的模拟信号进行比较。
参考程序如下:
wp=[10002000]*2*pi;
ws=[5002500]*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,'
%设计模拟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模拟带通滤波器'
holdon;
plot([10001000],ylim,'
r'
plot([20002000],ylim,'
%绘带边界
gridon
figure
(2)
dt=1/1OOOO;
%模拟信号采样间隔
f1=100;
f2=1500;
f3=2900;
%输入信号的三个频率成分
t=O:
dt:
O.O4;
%给定模拟时间段
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)%绘制输出信号
输出信号'
),xlabel('
时间/s'
)
2.连续时间信号的采样和重建
已知信号xt(m1)cos2二(100m-50)t,试以f^20000Hz采样频率对该
mzQ
信号采样,并用插值公式重建该信号。
参考程序:
1、分别用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所示。
程序如下:
fs仁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采样时域图'
holdoff;
fs2=300;
t2=-0.1:
1/fs2:
fb=5*sin(2*pi*40*t2)+1.8*sin(4*pi*40*t2)+0.8*sin(5*pi*40*t2);
figure
(2);
plot(t2,fb),xlabel('
fs2=300Hz时,fb采样时域图'
图1150HZ采样频率对信号采样图
8
6
4
2
-2
-4
-6
-8
-0.1-0.08-0.06-0.04-0.0200.020.040.060.080.1
fs2=300Hz时,fb采样时域图
图2300HZ采样频率对信号采样图
2、对信号进行快速离散傅里叶变换
将两个采样信号进行快速离散傅里叶变换(FFT),用150Hz的频率对f(t)进行采样,其采样后快速傅立叶变换频谱图图3所示;
用300Hz的频率对f(t)进行
采样,其采样后快速傅立叶变换频谱图图4所示。
f=40;
fs=150;
N=300;
k=0:
N-1;
t=-0.1:
1/fs:
w1=150*k/N;
fa=5*sin(2*pi*f*t)+1.8*sin(4*pi*f*t)+0.8*sin(5*pi*f*t);
xfa=fft(fa,N);
xf1=abs(xfa);
figure
(1);
plot(w1,xf1),xlabel('
fs=150Hz时,fa经fft后频谱图.单位:
Hz'
fs=300;
w2=300*k/N
fb=5*sin(2*pi*f*t)+1.8*sin(4*pi*f*t)+0.8*sin(5*pi*f*t);
xfb=fft(fb,N);
xf2=abs(xfb);
plot(w2,xf2),xlabel('
fs=300Hz时,fb经fft后频谱图.单位:
Hz'
80
70
60
50
40
30
20
10
图4300HZ采样后经FFT后频谱图
3、信号的重建
我们可以通过利用内插法把原信号从采样信号中恢复出来,观察信号在满足怎样的采样条件下能够恢复为原信号,图5和图6分别为恢复后的原信号
Wm=180*pi;
Wc=Wm;
Ws=2*pi*fs1;
n=-800:
800;
nTs1=n/fsl;
fa=5.1*sin(2*pi*40*nTs1)+1.8*sin(4*pi*40*nTs1)+0.8*sin(5*pi*40*nTs1);
Dt=1/fs1;
Dt:
fa仁fa/fs1*Wc/pi*sinc((Wc/pi)*(ones(length(nTs1),1)*t1-nTs1'
*ones(1,length(t1)));
plot(t1,fa1);
axis([-0.10.1-88]);
fs=150Hz时,fa利用内插由样本重建原信号图.'
Ws=2*pi*fs2;
nTs2=n/fs2;
fb=5.1*sin(2*pi*40*nTs2)+1.8*sin(4*pi*40*nTs2)+0.8*sin(5*pi*40*nTs2);
Dt=1/fs2;
fb仁fb/fs2*Wc/pi*sinc((Wc/pi)*(ones(length(nTs2),1)*t1-nTs2'
figure
(2);
plot(t1,fb1);
fs=300Hz时,fb利用内插由样本重建原信号图.'
grid;
图5150HZ采样后的信号的重建信号
图6300HZ采样后的信号的重建信号
3•采样信号的抽取和插值
⑴•已知信号xt(m1)cos2:
(100m50)t,以f^20000Hz采样频率采样
m=0
后,设计抽取因子D和滤波器,分离出如下信号m=1,2,3……50信号组分。
t=0:
.00025:
1;
%Timevector
x=sin(2*pi*30*t)+sin(2*pi*60*t);
figure
(1)
subplot(211)
stem(t(1:
120),x(1:
120));
holdon
y=decimate(x,4);
%Viewtheoriginalanddecimatedsignals:
stem(x(1:
120)),axis([0120
-22])%Originalsignal
title('
OriginalSignal'
)
subplot(212)
stem(y(1:
30))%Decimatedsignal
DecimatedSignal'
4999
⑵•已知信号X1(t(m+1)coS2兀(100n+31)),X2(t)=E(m+1)coS2兀(100n+37)t),以
mzfim^O
fs“0000Hz采样频率采样后,设计插值因子I和滤波器,合成信号X,tX2t
%File_C3:
UpSampl.m
%该程序仿真通过零阶保持内插对信号进行上抽样,分析上抽样对信号频谱的影响
clearall
clc
f0=0.06;
%信号数字频率
N=256;
dt=1;
%抽样时间
t=[0:
N-1]*dt;
sig=sin(2*pi*f0*t);
I=4;
%内插因子
N仁N*l;
Addsig(1:
N1)=0;
fork=1:
N
fori=1:
l
Addsig(l*k-l+i)=sig(k);
%对原始数字信号补零内插,抽样时间
变为dL『I
end
subplot(2,1,1)
t2=[0:
N1-1];
stem(t,sig);
Original'
Sampletime/n'
axis([019-1.21.2])
subplot(2,1,2)
stem(Addsig);
axis([080-1.21.2])xlabel('
)title('
SignaloutputofZero-orderholdinterpolator'
Am=fft(sig);
AddAm=fft(Addsig);
f1=[0:
2/N:
2-1/N];
f2=[0:
2/N1:
2-1/N1];
figure
(2)subplot(2,1,1)plot(f1,20*log10(abs(Am)));
axis([01-2060]);
ylabel('
Amplitude(dB)'
)xlabel('
\omega/\pi'
AmplitudeSpectrum'
)subplot(2,1,2)
plot(f2,20*log10(abs(AddAm)))axis([01-2060]);
AmplitudeSpectrumofZero-orderholdinterpolationsignal'
)[b,a]=butter(20,1/I);
%设计截止频率为pi/l,阶数为10的低通巴特沃思滤波器y=filter(b,a,Addsig);
%对补零后的信号进行低通滤波,完成上抽样过程
UpAm=fft(y);
figure(3)subplot(2,1,1)plot(y);
axis([01023-1.21.2])
outputsignaloutofInterpolator'
plot(f2,20*log10(abs(UpAm)))axis([01-3050]);
%该程序仿真通过零阶保持内插对信号进行上抽样,分析上抽样对信号频谱的影响
sig=sin(2*pi*f0*t);
N1=N*I;
Addsig(1:
Nfori=1:
I
Addsig(I*k-I+i)=sig(k);
变为dL『I
endendfigure
(1)subplot(2,1,1)t2=[0:
stem(t,sig);
title('
Original'
)axis([019-1.21.2])subplot(2,1,2)stem(Addsig);
)Am=fft(sig);
)subplot(2,1,2)plot(f2,20*log10(abs(AddAm)))
axis([01023-1.21.2])title('
)subplot(2,1,2)plot(f2,20*log10(abs(UpAm)))axis([01-3050]);
四.设计结果及分析
五.结论
六.参考文献
重要参考设计.
理想矩形滤波器的时域表示
clear;
clc;
fh=100;
forI=1:
4k=I;
fs=k*2*fh;
N=10*k;
n=-N:
N;
dt=1/fs;
T=N*dt;
t=-T:
T;
%h=2*fh/fs*sinc(n/k);
%h=sinc(n/k);
subplot(2,2,I)plot(t,h);
holdon;
stem(t,h);
holdon;
plot(t,zeros(length(t)),'
linewidth'
3);
title(['
fs/2fh=k,k='
num2str(k)],'
fontsize'
28);
axis('
off'
)end