实验一:低通采样定理和内插与抽取实现a

实验一:低通采样定理和内插与抽取实现

一. 实验目的

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

Ωs>=2Ωm 条件,X^(jΩ) 才不会产生频谱的混叠, 接收端完全可以由x^(t)恢复原

连续信号xa(t),这就是低通信号抽样定理的核心内容。 2、信号的重建

从频域看, 设信号最高频率不超过折叠频率:

Xa(jΩ)=Xa(jΩ) |Ω|Ωs/2

则理想取样后的频谱就不会产生混叠, 故有

:

让取样信号x^(t)通过一带宽等于折叠频率的理想低通滤波器:

H(jΩ)=T |Ω|Ωs/2

滤波器只允许通过基带频谱, 即原信号频谱, 故:

Y(jΩ)=X^(jΩ)H(jΩ)=Xa(jΩ)

因此在滤波器的输出得到了恢复的原模拟信号:

y(t)=xa(t)

从时域上看, 上述理想的低通滤波器的脉冲响应为

:

根据卷积公式可求得理想低通滤波器的输出为

:

由上式显然可得

:

:

上式表明只要满足取样频率高于两倍信号最高频率, 连续时间函数xa(t)就可用他的取样值xa(nT)来表达而不损失任何信息,这时只要把每一个取样瞬时值与内插函数式相乘求和即可得出xa(t),在每一取样点上, 由于只有该取样值所对应的内插函数式不为零, 所以各个取样点上的信号值不变。

三. 内容

1. 设计连续时间信号线性滤波器分离信号组份

已知信号x (t )=∑(m +1)cos (2π(100m +50) t ),试设计滤波器,分离出如下信号:

m =099

(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) f s =20000Hz (b) f s =10000Hz (c)f s =30000Hz 求信号频谱及相应的滤波器。

参考程序如下:

设计一个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. 连续时间信号的采样和重建

已知信号x (t )=∑(m +1)cos (2π(100m +50) t ),试以f s =20000Hz 采样频率对该

m =099

信号采样,并用插值公式重建该信号。

参考程序:

①、分别用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); figure(2);plot(t2,fb),xlabel('fs2=300Hz时,fb 采样时域图');

fs1=150Hz时,fa 采样时域图

图1 150HZ 采样频率对信号采样图

fs2=300Hz时,fb 采样时域图

图2 300HZ 采样频率对信号采样图

②、对信号进行快速离散傅里叶变换

将两个采样信号进行快速离散傅里叶变换(FFT),用150Hz 的频率对f(t)进行采样,其采样后快速傅立叶变换频谱图图3所示;用300Hz 的频率对f(t)进行采样,其采样后快速傅立叶变换频谱图图4所示。程序如下:

f=40;fs=150; N=300;k=0:N-1; t=-0.1:1/fs:0.1; 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');

f=40;fs=300; N=300;k=0:N-1; t=-0.1:1/fs:0.1; 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);

figure(2);plot(w2,xf2),xlabel('fs=300Hz时,fb 经fft 后频谱图. 单位:Hz ');

fs=150Hz时,fa 经fft 后频谱图. 单位:Hz

图3 150HZ 采样后经FFT 后频谱图

fs=300Hz时,fb 经fft 后频谱图. 单位:Hz

图4 300HZ 采样后经FFT 后频谱图 ③、信号的重建

我们可以通过利用内插法把原信号从采样信号中恢复出来,观察信号在满足怎样的采样条件下能够恢复为原信号,图5和图6分别为恢复后的原信号。程序如下:

Wm=180*pi;Wc=Wm;

fs1=150;Ws=2*pi*fs1;

n=-800:800;nTs1=n/fs1;

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;t1=-0.1:Dt:0.1;

fa1=fa/fs1*Wc/pi*sinc((Wc/pi)*(ones(length(nTs1),1)*t1-nTs1'*ones(1,length(t1)));

figure(1);plot(t1,fa1); axis([-0.1 0.1 -8 8]);

xlabel('fs=150Hz时,fa 利用内插由样本重建原信号图.'); Wm=180*pi;Wc=Wm; fs2=300;Ws=2*pi*fs2; n=-800:800;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;t1=-0.1:Dt:0.1;

fb1=fb/fs2*Wc/pi*sinc((Wc/pi)*(ones(length(nTs2),1)*t1-nTs2'*ones(1,length(t1)));

figure(2);plot(t1,fb1); axis([-0.1 0.1 -8 8]);

xlabel('fs=300Hz时,fb 利用内插由样本重建原信号图.'); grid;

fs=150Hz时,fa 利用内插由样本重建原信号图.

图5 150HZ采样后的信号的重建信号

-0.1

-0.08-0.06-0.04-0.0200.020.040.060.080.1

fs=300Hz时,fb 利用内插由样本重建原信号图.

图6 300HZ采样后的信号的重建信号

3. 采样信号的抽取和插值

⑴. 已知信号x (t )=∑(m +1)cos (2π(100m +50) t ),以f s =20000Hz 采样频率采样

m =099

后,设计抽取因子D 和滤波器,分离出如下信号m =1,2,3......50 信号组分。 参考程序如下:

求信号频谱及相应的滤波器。

t = 0:.00025:1; % Time vector x = sin(2*pi*30*t) + sin(2*pi*60*t); figure(1) subplot(211)

stem(t(1:120),x(1:120));hold on y = decimate(x,4);

% View the original and decimated signals: stem(x(1:120)), axis([0 120 -2 2]) % Original signal title('Original Signal') subplot(212)

stem(y(1:30)) % Decimated signal title('Decimated Signal')

⑵. 已知信号x 1(t )=∑(m +1)cos (2π(100m +31) t ),x 2(t )=∑(m +1)cos (2π(100m +37) t ), 以

m =0

m =50

49

99

设计插值因子I 和滤波器,合成信号x 1(t )+x 2(t )。 f s =10000Hz 采样频率采样后,

参考程序如下:

%File_C3:UpSampl.m

%该程序仿真通过零阶保持内插对信号进行上抽样,分析上抽样对信号频谱的影响

clear all clc

f0=0.06; %信号数字频率 N=256;

dt=1; %抽样时间 t=[0:N-1]*dt;

sig=sin(2*pi*f0*t); I=4; %内插因子 N1=N*I;

Addsig(1:N1)=0; for k=1:N

for i=1:I

Addsig(I*k-I+i)=sig(k); %对原始数字信号补零内插,抽样时间变为dL 『I end end

figure(1)

subplot(2,1,1) t2=[0:N1-1]; stem(t,sig); title('Original')

xlabel('Sample time /n') axis([0 19 -1.2 1.2]) subplot(2,1,2)

stem(Addsig);

axis([0 80 -1.2 1.2]) xlabel('Sample time /n')

title('Signal output of Zero-order hold interpolator') 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([0 1 -20 60]);

ylabel('Amplitude(dB)') xlabel('\omega/ \pi')

title('Amplitude Spectrum') subplot(2,1,2)

plot(f2,20*log10(abs(AddAm))) axis([0 1 -20 60]);

ylabel('Amplitude(dB)') xlabel('\omega/ \pi')

title('Amplitude Spectrum of Zero-order hold interpolation signal') [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([0 1023 -1.2 1.2])

title('output signal out of Interpolator') xlabel('Sample time /n') subplot(2,1,2)

plot(f2,20*log10(abs(UpAm))) axis([0 1 -30 50]);

ylabel('Amplitude(dB)') xlabel('\omega/ \pi')

%File_C3:UpSampl.m

%该程序仿真通过零阶保持内插对信号进行上抽样,分析上抽样对信号频谱的影响

clear all clc

f0=0.06; %信号数字频率 N=256;

dt=1; %抽样时间

t=[0:N-1]*dt;

sig=sin(2*pi*f0*t);

I=4; %内插因子

N1=N*I;

Addsig(1:N1)=0;

for k=1:N

for i=1:I

Addsig(I*k-I+i)=sig(k); %对原始数字信号补零内插,抽样时间变为dL 『I

end

end

figure(1)

subplot(2,1,1)

t2=[0:N1-1];

stem(t,sig);

title('Original')

xlabel('Sample time /n')

axis([0 19 -1.2 1.2])

subplot(2,1,2)

stem(Addsig);

axis([0 80 -1.2 1.2])

xlabel('Sample time /n')

title('Signal output of Zero-order hold interpolator')

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([0 1 -20 60]);

ylabel('Amplitude(dB)')

xlabel('\omega/ \pi')

title('Amplitude Spectrum')

subplot(2,1,2)

plot(f2,20*log10(abs(AddAm)))

axis([0 1 -20 60]);

ylabel('Amplitude(dB)')

xlabel('\omega/ \pi')

title('Amplitude Spectrum of Zero-order hold interpolation signal')

[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([0 1023 -1.2 1.2])

title('output signal out of Interpolator') xlabel('Sample time /n')

subplot(2,1,2)

plot(f2,20*log10(abs(UpAm))) axis([0 1 -30 50]);

ylabel('Amplitude(dB)')

xlabel('\omega/ \pi')

四. 设计结果及分析

五. 结论

六. 参考文献

重要参考设计.

理想矩形滤波器的时域表示 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

实验一:低通采样定理和内插与抽取实现

一. 实验目的

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

Ωs>=2Ωm 条件,X^(jΩ) 才不会产生频谱的混叠, 接收端完全可以由x^(t)恢复原

连续信号xa(t),这就是低通信号抽样定理的核心内容。 2、信号的重建

从频域看, 设信号最高频率不超过折叠频率:

Xa(jΩ)=Xa(jΩ) |Ω|Ωs/2

则理想取样后的频谱就不会产生混叠, 故有

:

让取样信号x^(t)通过一带宽等于折叠频率的理想低通滤波器:

H(jΩ)=T |Ω|Ωs/2

滤波器只允许通过基带频谱, 即原信号频谱, 故:

Y(jΩ)=X^(jΩ)H(jΩ)=Xa(jΩ)

因此在滤波器的输出得到了恢复的原模拟信号:

y(t)=xa(t)

从时域上看, 上述理想的低通滤波器的脉冲响应为

:

根据卷积公式可求得理想低通滤波器的输出为

:

由上式显然可得

:

:

上式表明只要满足取样频率高于两倍信号最高频率, 连续时间函数xa(t)就可用他的取样值xa(nT)来表达而不损失任何信息,这时只要把每一个取样瞬时值与内插函数式相乘求和即可得出xa(t),在每一取样点上, 由于只有该取样值所对应的内插函数式不为零, 所以各个取样点上的信号值不变。

三. 内容

1. 设计连续时间信号线性滤波器分离信号组份

已知信号x (t )=∑(m +1)cos (2π(100m +50) t ),试设计滤波器,分离出如下信号:

m =099

(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) f s =20000Hz (b) f s =10000Hz (c)f s =30000Hz 求信号频谱及相应的滤波器。

参考程序如下:

设计一个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. 连续时间信号的采样和重建

已知信号x (t )=∑(m +1)cos (2π(100m +50) t ),试以f s =20000Hz 采样频率对该

m =099

信号采样,并用插值公式重建该信号。

参考程序:

①、分别用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); figure(2);plot(t2,fb),xlabel('fs2=300Hz时,fb 采样时域图');

fs1=150Hz时,fa 采样时域图

图1 150HZ 采样频率对信号采样图

fs2=300Hz时,fb 采样时域图

图2 300HZ 采样频率对信号采样图

②、对信号进行快速离散傅里叶变换

将两个采样信号进行快速离散傅里叶变换(FFT),用150Hz 的频率对f(t)进行采样,其采样后快速傅立叶变换频谱图图3所示;用300Hz 的频率对f(t)进行采样,其采样后快速傅立叶变换频谱图图4所示。程序如下:

f=40;fs=150; N=300;k=0:N-1; t=-0.1:1/fs:0.1; 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');

f=40;fs=300; N=300;k=0:N-1; t=-0.1:1/fs:0.1; 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);

figure(2);plot(w2,xf2),xlabel('fs=300Hz时,fb 经fft 后频谱图. 单位:Hz ');

fs=150Hz时,fa 经fft 后频谱图. 单位:Hz

图3 150HZ 采样后经FFT 后频谱图

fs=300Hz时,fb 经fft 后频谱图. 单位:Hz

图4 300HZ 采样后经FFT 后频谱图 ③、信号的重建

我们可以通过利用内插法把原信号从采样信号中恢复出来,观察信号在满足怎样的采样条件下能够恢复为原信号,图5和图6分别为恢复后的原信号。程序如下:

Wm=180*pi;Wc=Wm;

fs1=150;Ws=2*pi*fs1;

n=-800:800;nTs1=n/fs1;

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;t1=-0.1:Dt:0.1;

fa1=fa/fs1*Wc/pi*sinc((Wc/pi)*(ones(length(nTs1),1)*t1-nTs1'*ones(1,length(t1)));

figure(1);plot(t1,fa1); axis([-0.1 0.1 -8 8]);

xlabel('fs=150Hz时,fa 利用内插由样本重建原信号图.'); Wm=180*pi;Wc=Wm; fs2=300;Ws=2*pi*fs2; n=-800:800;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;t1=-0.1:Dt:0.1;

fb1=fb/fs2*Wc/pi*sinc((Wc/pi)*(ones(length(nTs2),1)*t1-nTs2'*ones(1,length(t1)));

figure(2);plot(t1,fb1); axis([-0.1 0.1 -8 8]);

xlabel('fs=300Hz时,fb 利用内插由样本重建原信号图.'); grid;

fs=150Hz时,fa 利用内插由样本重建原信号图.

图5 150HZ采样后的信号的重建信号

-0.1

-0.08-0.06-0.04-0.0200.020.040.060.080.1

fs=300Hz时,fb 利用内插由样本重建原信号图.

图6 300HZ采样后的信号的重建信号

3. 采样信号的抽取和插值

⑴. 已知信号x (t )=∑(m +1)cos (2π(100m +50) t ),以f s =20000Hz 采样频率采样

m =099

后,设计抽取因子D 和滤波器,分离出如下信号m =1,2,3......50 信号组分。 参考程序如下:

求信号频谱及相应的滤波器。

t = 0:.00025:1; % Time vector x = sin(2*pi*30*t) + sin(2*pi*60*t); figure(1) subplot(211)

stem(t(1:120),x(1:120));hold on y = decimate(x,4);

% View the original and decimated signals: stem(x(1:120)), axis([0 120 -2 2]) % Original signal title('Original Signal') subplot(212)

stem(y(1:30)) % Decimated signal title('Decimated Signal')

⑵. 已知信号x 1(t )=∑(m +1)cos (2π(100m +31) t ),x 2(t )=∑(m +1)cos (2π(100m +37) t ), 以

m =0

m =50

49

99

设计插值因子I 和滤波器,合成信号x 1(t )+x 2(t )。 f s =10000Hz 采样频率采样后,

参考程序如下:

%File_C3:UpSampl.m

%该程序仿真通过零阶保持内插对信号进行上抽样,分析上抽样对信号频谱的影响

clear all clc

f0=0.06; %信号数字频率 N=256;

dt=1; %抽样时间 t=[0:N-1]*dt;

sig=sin(2*pi*f0*t); I=4; %内插因子 N1=N*I;

Addsig(1:N1)=0; for k=1:N

for i=1:I

Addsig(I*k-I+i)=sig(k); %对原始数字信号补零内插,抽样时间变为dL 『I end end

figure(1)

subplot(2,1,1) t2=[0:N1-1]; stem(t,sig); title('Original')

xlabel('Sample time /n') axis([0 19 -1.2 1.2]) subplot(2,1,2)

stem(Addsig);

axis([0 80 -1.2 1.2]) xlabel('Sample time /n')

title('Signal output of Zero-order hold interpolator') 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([0 1 -20 60]);

ylabel('Amplitude(dB)') xlabel('\omega/ \pi')

title('Amplitude Spectrum') subplot(2,1,2)

plot(f2,20*log10(abs(AddAm))) axis([0 1 -20 60]);

ylabel('Amplitude(dB)') xlabel('\omega/ \pi')

title('Amplitude Spectrum of Zero-order hold interpolation signal') [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([0 1023 -1.2 1.2])

title('output signal out of Interpolator') xlabel('Sample time /n') subplot(2,1,2)

plot(f2,20*log10(abs(UpAm))) axis([0 1 -30 50]);

ylabel('Amplitude(dB)') xlabel('\omega/ \pi')

%File_C3:UpSampl.m

%该程序仿真通过零阶保持内插对信号进行上抽样,分析上抽样对信号频谱的影响

clear all clc

f0=0.06; %信号数字频率 N=256;

dt=1; %抽样时间

t=[0:N-1]*dt;

sig=sin(2*pi*f0*t);

I=4; %内插因子

N1=N*I;

Addsig(1:N1)=0;

for k=1:N

for i=1:I

Addsig(I*k-I+i)=sig(k); %对原始数字信号补零内插,抽样时间变为dL 『I

end

end

figure(1)

subplot(2,1,1)

t2=[0:N1-1];

stem(t,sig);

title('Original')

xlabel('Sample time /n')

axis([0 19 -1.2 1.2])

subplot(2,1,2)

stem(Addsig);

axis([0 80 -1.2 1.2])

xlabel('Sample time /n')

title('Signal output of Zero-order hold interpolator')

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([0 1 -20 60]);

ylabel('Amplitude(dB)')

xlabel('\omega/ \pi')

title('Amplitude Spectrum')

subplot(2,1,2)

plot(f2,20*log10(abs(AddAm)))

axis([0 1 -20 60]);

ylabel('Amplitude(dB)')

xlabel('\omega/ \pi')

title('Amplitude Spectrum of Zero-order hold interpolation signal')

[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([0 1023 -1.2 1.2])

title('output signal out of Interpolator') xlabel('Sample time /n')

subplot(2,1,2)

plot(f2,20*log10(abs(UpAm))) axis([0 1 -30 50]);

ylabel('Amplitude(dB)')

xlabel('\omega/ \pi')

四. 设计结果及分析

五. 结论

六. 参考文献

重要参考设计.

理想矩形滤波器的时域表示 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


相关内容

  • 降采样,过采样,欠采样,子采样,下采样,上采样
  • 降采样: 2048HZ 对信号来说是过采样了,事实上只要信号不混叠就好(满足尼奎斯特采样定理),所以可以对过采样的信号作抽取,即是所谓的"降采样".在现场中采样往往受具体条件的限止,或者不存在300HZ 的采样率,或调试非常困难等等.若R>>1,则Rfs/2就远大于音 ...

  • [信号系统与数字电路]
  • <信号系统与数字电路>(科目代码842) 考试大纲 特别提醒:本考试大纲仅适合2014年硕士研究生入学考试.该门课程包括两部 分内容,(-)信号与系统部分,占75分.(二)数字电路部分:两 部分,占75分. (一) 信号系统部分 1. 考研建议参考书目 <信号与系统>(第二版 ...

  • 机械工程测试技术实验报告
  • 实 验 报 告 (理工类) 课 程 名 称: 机械工程测试技术 课 程 代 码: 8400271 学生所在学院: 机械工程与自动化学院 年级/专业/班: 09机电3班 学 生 姓 名: 王 泽 学 号: [**************] 实验总成绩: 任 课 教 师: 余 愚 开 课 学 院: 机械 ...

  • 多源信息融合数字模型
  • 科技前沿与学术评论 多源信息融合数字模型 研究员.博导 岳天祥研究员.博导 刘纪远 (中国科学院地理学与资源研究所, 北京100101) 摘 要:研究结果表明,在目前基础条件下,多源信息融合数字模型的实现需要解决现行数字地面模型和空间插值模型的误差问题.点-面信息有效融合问题.多尺度转换问题和多维G ...

  • 河北大学数字信号处理实验一报告
  • 班级学号 姓名实验二 离散时间系统的时域分析 一.实验目的 (1)加深对时域信号抽样与恢复的基本原理的理解: (2)掌握应用线性卷积求解离散时间系统响应的基本方法: (3)掌握求解离散时间系统冲击响应和频率响应程序的编写方法,了解常用子 函数. 二.实验内容 1. 已知一个连续时间信号ftsi ...

  • 硕士英文论文翻译
  • 复值可变FIR 数字滤波器的设计及其在复信号任意采样率转换的实现中的应用 作者:K. M. Tsui, S. C. Chan, Member, IEEE, and K. W. Tse 摘要:这篇概要研究了复值可变数字滤波器(CVDFs )及其在有效的复信号任意采样率转换中的应用.使用极大极小或最小二 ...

  • 数字信号处理实验报告二 系统及系统响应
  • 实验报告 2012 年 04 月 26 日 课程名称: 数字信号处理 实验名称:系统及系统响应 班级: 学号: 姓名: 实验二 系统及系统响应 一. 实验目的 (1) 观察离散系统的频率响应: (2) 熟悉连续信号经理想采样前后的频谱变化关系,加深对时域采样定理 的理解: (3) 利用序列的FT 对 ...

  • 奈奎斯特采样率和稀疏采样学习报告
  • 奈奎斯特采样率和稀疏采样学习报告 1.采样定理 数字信号处理系统的基本组成 (1)前置滤波器 将输入信号xa(t)中高于某一频率(称折叠频率,等于抽样频率的一半)的分量加以滤除. (2)A/D变换器 在A/D变换器中每隔T秒(抽样周期)取出一次xa(t)的幅度,采样后的信 号称为离散信号. 在进行A ...

  • 多抽样率窄带滤波器的设计及实现
  • DOI:10.16661/j.cnki.1672-3791.2007.12.142 科技资讯 2007 NO.12 SCIENCE & TECHNOLOGY INFORMATION 学 术 论 坛 多抽样率窄带滤波器的设计及实现 张小英 李敏 (乐山师范学院物理与电子信息科学系 四川乐山 6 ...