一 实验目的
1.熟悉理想采样的性质,了解信号采样前后的频谱变化,加深对采样
定理的理解。
2.熟悉离散信号和系统的时域特性。
3.熟悉线性卷积的计算编程方法:利用卷积的方法,观察、分析系统
响应的时域特性。
4.掌握序列傅氏变换的计算机实现方法,利用序列的傅氏变换对离散
信号、系统及系统响应进行频域分析。
二 实验内容及步骤
1. 1、分析理想采样信号序列的特性:
产生理想采样信号序列,对信号进行理想采样,可以得到一个理想的采样信号序列:,其中A为幅度因子,是衰减因子,是频率。T为采样周期。根据实验内容的需要,这些参量请设计为在程序运行过程中输入。
首先使。
解:fs=input('请输入采样频率=');
n=0:50; %定义序列的长度是50A=444.128; %设置信号有关的参数a=50*sqrt(2.0)*pi;T=1/fs;
t=0:0.0001:0.06; w0=50*sqrt(2.0)*pi;
x=A*exp(-a*t).*sin(w0*t); %ω符号在MatLab 中不能输入,用w 代替
x1=A*exp(-a*n*T).*sin(w0*n*T); %pi 是MATLAB 定义的π,信号乘可采用“.*”close all
subplot(2,2,1);plot(t,x);
title('原始信号时域图');
subplot(2,2,2);stem(x1); %绘制x(n) 的图形title('理想采样信号序列');y=fft(x,10001);
f=(0:10000)*fs/10001; subplot(2,2,3)plot(f,abs(y));
title('原始信号频域图');k=-25:25;
W=(pi/12.5)*k;
X=x1*(exp(-j*pi/12.5)).^(n'*k);
magX=abs(X); %绘制x(n) 的幅度谱subplot(2,2,4);stem(magX);
title('理想采样信号序列的幅度谱');
T=1/1000
T=1/300时T=1/200
由图可知,在T=1000时,有轻微的混淆现象,T=300和T=200时有明显的混淆现象,采样频率越低,混淆越严重。根据
Shannon取样定理,如果原信号是带限信号,且采样频率高于原信号最高频率分量的2倍,则采样以后不会发生频谱混淆现象。 此题中原信号没有最高频谱,但幅频响应的幅值随频率增大而减小,所以只要采样率够高,就可以大致模拟原始信号,
2、离散信号、系统和系统响应的分析:单位脉冲序列:矩形序列:
系统单位脉冲响应序列,本实验中用到以下两种FIR系统:
(1)观察信号和系统的时域和幅频特性;利用线性卷积求信号通过系统以后的响应。比较系统响应和系统的时域及幅频特性。注意它们之间有无差异,绘出图形。
答:信号时域和幅频特性:的时域和幅频特性:
输入信号为
(2)观察信号和系统的时域和幅频特性,利用线性卷积求系
统响应。判断响应序列图形及序列非零值长度是否与理论结果一致,说出一种定性判断响应序列图形正确与否的方法(提示:)。利用序列的傅立叶变换数值计算子程序求出,观察响应序列的幅频特性。定性判断结果正确与否。改变信号的矩形宽度,使N=5,重复以上动作,观察变化,记录改变参数前后的差异。
答:信号和系统的时域和幅频特性相同,如下:
n=1:10;
x=sign(sign(10-n)+1);close all;
subplot(3,1,1);
stem(x);title('Xc[n]序列时域');k=-25:25;
X=x*(exp(-j*pi/25)).^(n'*k);
magX=abs(X); %绘制x(n) 的幅度谱subplot(3,1,2);
stem(magX);title('Xc[n]的幅度谱');
angX=angle(X); %绘制x(n) 的相位谱subplot(3,1,3);stem(angX);
title ('Xc[n]的相位谱')
系统相应:
n=1:50; %定义序列的长度是50hb=zeros(1,50);
hb(1)=1; hb(2)=1; hb(3)=1; hb(4)=1;hb(5)=1;hb(6)=1;hb(7)=1;hb(8)=1;hb(9)=1;hb(10)=1;x=hb;
subplot(4,1,1);stem(hb);title('系统hb[n]');
subplot(4,1,2);stem(x);title('输入信号x[n]'); axis([0 20 0 1]);y=conv(x,hb);
subplot(4,1,3);stem(y);title('输出信号y[n]'); axis([0 50 0 15]);n=1:99; k=1:99;
Y=y*(exp(-j*pi/12.5)).^(n'*k);
subplot(4,1,4);stem(abs(Y));title('输出信号y[n]幅度谱');
N=10时:
N=5时
结论:响应序列非零值长度理论值为两卷积序列非零长度和减一
由所得图形知实际结果与理论值相符。
(3) 将实验步骤2-(2)中的信号换为,其中。重复实验2-(2)各步骤,改变的参数再重复实验2-(2)各步骤;改变参数,重复实验2-(2)各步骤。在实验中观察改变和对信号及系统响应的时域和幅频特性的影响,绘制相应的图形。
a=0.4
a=0.1时:
3.验证卷积:利用式(1-14)将和系统的傅氏变换相乘,直接求得,
将得到的幅频特性曲线和实验2-(3)中得到的曲线进行比较,观察二者有无差异。验证卷积定律。
答:
n=1:50; %定义序列的长度是50
hb=zeros(1,50); %注意:MATLAB 中数组下标从1 开始hb(1)=1;hb(2)=1;hb(3)=1;
hb(4)=1;hb(5)=1;hb(6)=1;hb(7)=1;hb(8)=1;hb(9)=1;hb(10)=1;close all;
A=1; a=0.4; w0=2.0734; T=1; m=1:50; %设置信号有关的参数x=A*exp(-a*m*T).*sin(w0*m*T); y=conv(x,hb);
k=1:50; X=x*(exp(-j*pi/12.5)).^(n'*k);Hb=hb*(exp(-j*pi/12.5)).^(n'*k);n=1:99; k=1:99;
Y=y*(exp(-j*pi/12.5)).^(n'*k);XHb=X.*Hb;
subplot(2,1,1);stem(abs(XHb));title('x(n) 的幅度谱与hb(n)幅度谱相乘');axis([0,50,0,3])
subplot(2,1,2);stem(abs(Y));title('y(n) 的幅度谱');axis([0,50,0,3])
如图,两幅图的频谱形状一致,因而验证了卷积定律
4、一个LTI系统的冲激响应为,输入序列为,求系统响应和输出信号y(n)及其频谱;如果,其结果又如何?答:n=0:50;
h=0.9.^n;m=1:10;
x=sign(sign(10-m)+1);k=0:50;
H=h*(exp(-j*pi/12.5)).^(n'*k);subplot(211);stem(abs(H));title('系统响应的幅度谱');y=conv(x,h);n=0:59;k=0:59;
Y=y*(exp(-j*pi/12.5)).^(n'*k);subplot(212);stem(abs(Y));title('y(n) 的幅度谱');
n=1:50; %定义序列的长度是50
hb=zeros(1,50); %注意:MATLAB 中数组下标从1 开始hb(1)=1;hb(2)=1;hb(3)=1;
hb(4)=1;hb(5)=1;hb(6)=1;hb(7)=1;hb(8)=1;hb(9)=1;hb(10)=1;close all;x=hb;
y=conv(x,hb);
k=1:50; X=x*(exp(-j*pi/12.5)).^(n'*k);Hb=hb*(exp(-j*pi/12.5)).^(n'*k);n=1:99; k=1:99;
Y=y*(exp(-j*pi/12.5)).^(n'*k);
subplot(2,1,1);stem(abs(Hb));title('hb(n)幅度谱'); axis([0,50,0,3])subplot(2,1,2);stem(abs(Y));title('y(n) 的幅度谱');axis([0,50,0,3])
结果:系统响应和输出信号y(n)及其频谱相同。三、思考题:
:利用不同采样频率所得到的采样信号序列的傅氏变化频谱,数字频率度量是不同的,它们所对应的模拟频率也不同。
:差异在于x和h相乘的频谱长度为30,而y的频谱长度为59,为y是x和h的卷积,其长度等于二者长度和减一。
实验二 应用FFT对信号进行频谱分析一 实验目的
1.在理论学习的基础上,通过本次实验,加深对
快速傅里叶变换的理解,熟悉FFT算法及其程序的编写。
2.熟悉应用FFT对典型信号进行频谱分析的方
法。
3.了解应用FFT进行信号频谱分析过程中可能出
现的问题,以便在实际中正确应用FFT。二 实验内容及步骤
1、编写程序产生高斯序列,观察高斯序列的时
域和频域特性:
(1) 固定信号中的参数p=8,改变q的值,使q分别等于2,4,8。观察它们的时域和幅频特性,了解q取不同值的时候,对信号时域特性和幅频特性的影响。
(2) 固定q=8,改变p,使p分别等于8,13,14,观察参数p变化对信号序列时域及幅频特性的影响。注意p等于多少时,会发生明显的泄漏现象,混淆现象是否也随之出现?记录实验中观察到的现象,绘制相应的时域序列和幅频特性曲线。
2编写程序产生衰减正弦序列,观察衰减正弦序列的时域和幅频特性:
(1) 令α=0.1并且f=0.0625,检查谱峰出现的位置是否正确,注意频谱的形状,绘制幅频特性曲线。
n=0:15; %定义序列的长度是15
a=0.1; f=input('请输入f='); x=exp(-a*n).*sin(2*pi*f*n);
close all; subplot(2,1,1); stem(x);subplot(2,1,2);stem(abs(fft(x)));
(2)改变f=0.4375,再变化f=0.5625,观察这两种情况下,频谱的形状和谱峰出现的位置,有无混淆和泄漏现象发生?说明产生现象的原因。
F=0.4375f=0.5625
3、编写程序产生三角波和反三角波序列,观察三角波序列和反三角波序列的时域和幅频特性:(1)用8点FFT分析信号和的幅频特性,观察两者的序列形状和频谱曲线有什么异同?(注意:这时候的可以看作是经过圆周移位以后得到的)绘制两者的序列和幅频特性曲线8点FFT:
for i=1:4; %设置信号前4 个点的数值
x(i)=i; %注意:MATLAB 中数组下标从1 开始end
for i=5:8 %设置信号后4 个点的数值x(i)=9-i;end
t=input('请输入FFT点数=');close all; subplot(2,1,1); stem(x);title('三角序列时域图');
subplot(2,1,2); stem(abs(fft(x,t))) %绘制信号的频谱title('三角序列频域图');
结论:两者频域图是一样的
(2)在的和末尾补零,用16点FFT分析这两个信号的幅频特性,观察幅频特性发生了什么变化?两个信号之间的FFT频谱还有没有相同之处?这些变化说明了什么?16点FFT:
结论:两者频谱图不一样,因为改变了点数,减少了栅栏效应。
4、将信号的长度N设为63,用MatLab中randn(1,N)函数产生一个噪声信号w(n),计算将这个噪声信号叠加到上以后新信号的频谱,观察发生的变化并记录。
n=0:62;
N=63; %定义序列的长度是15a=0.1; f=0.0625; x=exp(-a*n).*sin(2*pi*f*n);close all; subplot(4,1,1); stem(x); title('x的时域');w=randn(1,N);y=x+w;
subplot(412);stem(y);title('y的时域');
subplot(4,1,3); stem(abs(fft(x))) ;title('x的频域');
Y=fft(y,63);subplot(4,1,4); stem(abs(Y)) ;title('y的频域');
5在步骤2的基础上,改变参数α和f,观察在出现混淆现象和泄漏现象的时候有噪声的y(n)信号的频谱有什
么变化,是否明显?
n=0:15; %定义序列的长度是15a=input('a='); f=input('请输入f=');x=exp(-a*n).*sin(2*pi*f*n);
close all; subplot(3,1,1); stem(x); title('xb[n]的时域');subplot(3,1,2);stem(abs(fft(x)));title('xb[n]的频域');w=randn(1,16);y=x+w;
Y=fft(y,16);subplot(3,1,3); stem(abs(Y)) ;title('y的频域');
a=0.1并且f=0.0625,a=0.2, f=0.4375;a=0.2, f=0.5625;
由上面三个图可知,有噪声的y(n)信号的频谱始终是比较均匀的,改变a和f对其影响不大。三、思考题:
1.答:不是,反三角序列的低频分量更多一些,从频谱图上可见反三角序列在低频部分的谱线更高。
2. 答:不是,因为该序列周期为10,取16点FFT无法还原成真实频谱。
实验三 用双线性变换法设计IIR滤波器一 实验目的
1.了解两种工程上最常用的变换方法:脉冲响应不变法和双线性变换
法。
2.掌握双线性变换法设计IIR滤波器的原理及具体设计方法,熟悉用
双线性设计法设计低通、带通和高通IIR数字滤波器的计算机程序。3.观察用双线性变换法设计的滤波器的频域特性,并与脉冲响应不变
法相比较,了解双线性变换法的特点。
4.熟悉用双线性变换法设计数字Butterworth和Chebyshev滤波器的全
过程。
5.了解多项式乘积和多项式乘方运算的计算机编程方法。
二 实验内容及步骤
1、 采样频率为1Hz,设计一个Chebyshev高通数字
滤波器,其中通带临界频率,通带内衰减小于0.8dB (),阻带临界频率,阻带内衰减大于20dB ()。求这个数字滤波器的传递函数H(z),输出它的幅频特性曲线,观察其通带衰减和阻带衰减是否满足要求。
解:因为 =0.6, =0.4= 1.37 = 0.7265 又
模拟原型低通滤波器的指标:
[z,p,k]=cheb1ap(4,0.8);[B A]=zp2tf(z,p,k)
[BT,AT]=lp2hp(B,A,1.37);[num,den]=bilinear(BT,AT,0.5);[h,w]=freqz(num,den,512);figure(1);
plot(w/pi,20*log(abs(h)));grid;
xlabel('omega/pi');ylabel('Magnitude');axis([0 1 -200 5]);
num =
0.0262 -0.1047 0.1570 -0.1047 0.0262
en = 1.0000 1.52 1.6537 0.9452 0.2796
H(z)=
2、 采样频率为1Hz,设计一个数字低通滤波器,
要求其通带临界频率,通带内衰减小于1dB(),阻带临界频率,阻带内衰减大于25dB()。求这个数字滤波器的传递函数H(z),输出它的幅频特性曲线。=0.4, =0.6
所以= 0.7265 = 1.37 又
N=4
[z,p,k]=cheb1ap(4,1);[B A]=zp2tf(z,p,k);
[BT,AT]=lp2lp(B,A,0.7265);[num,den]=bilinear(BT,AT,0.5);[h,w]=freqz(num,den,512);figure(1);
plot(w/pi,20*log(abs(h)));grid;
xlabel('omega/pi');ylabel('Magnitude');axis([0 1 -200 5]);num =
0.0243 0.0970 0.1455 0.0970 0.0243den =
1.0000 -1.5979 1.7461 -1.0201 0.3074
H(z)=经观察,满足要求
3、设计Butterworth带通数字滤波器,其上下边带1dB
处的通带临界频率分别为20kHz和30kHz(,,),当频率低于15kHz和高于35kHz时,衰减要大于40dB(,),采样周期为10μs,求这个数字滤波器的传递函数H(z),输出它的幅频特性曲线,观察其通带衰减和阻带衰减是否满足要求。
:ft=100kHz, 归一化的:
[N,Wn]=buttord([0.2 0.3],[0.15 0.35],1,40);[B,A]=butter(N,Wn,'bandpass');[h,w]=freqz(B,A,512);figure(1);
plot(w/pi,20*log(abs(h)));grid;
xlabel('omega/pi');ylabel('Magnitude');axis([0 1 -200 5]);经观察,满足要求。
三、思考题:
.双线性变换和脉冲响应不变法相比较,有哪些优点和缺点?为什么?
答: 脉冲响应不变法一个重要的特点是频率坐标的变换是线性的(ω=ΩT),其缺点是有频谱的周期延拓效应,存在频谱混淆的现象。
双线性变换法不同于脉冲响应不变法,不存在频谱混淆的问题。因为它建立起s平面和z平面的单值映射关系。但与原频率不是线性关系。这种非线性关系使得通带截止频率、过渡带的边缘频率的相对位置都发生了非线性畸变。
答:观察到了,在原图使用脉冲响应不变法同样设计一个切
比雪夫滤波器进行比较,曲线后半段有明显不重叠,因为双线性
变换法使得通带截止频率、过渡带的边缘频率的相对位置有较大的非线性畸变。
实验四 用窗函数设计FIR滤波器
一 实验目的
1、熟悉FIR滤波器设计的基本方法。
2、掌握用窗函数设计FIR数字滤波器的原理及方法3、熟悉线性相位FIR滤波器的幅频特性和相位特性。
4、了解各种不同窗函数对滤波器性能的响应。二 实验内容及步骤
1 用Hanning 窗设计一个线性相位带通滤波器,其长度N=15,上下边带截至频率分别为, ,求h(n),绘制它的幅频和相位特性曲线,观察它的实际3dB和20dB带宽。如果N=45,重复这一设计,观察幅频和相位特性的变化,注意长度N变化对结果的影响。
解:Window=hann(15);
b=fir1(14,[0.3 0.5],Window); freqz(b,1)
N=15时
N=45
Window=hann(45);
b=fir1(44,[0.3 0.5],Window); freqz(b,1)
结论:N增加会增加幅频与相频曲线的震荡程度,且通带更
向中间靠拢。
改用矩形窗和Blackman窗,设计步骤(1)中的带通滤波器,观察并记录窗函数对滤波器幅频和相位特性的影响,比较这三种窗函数的特点。矩形窗:N=15时:
Window= boxcar(15);
b=fir1(14,[0.3 0.5],Window); freqz(b,1);
N=45时Blackman窗:
N=15时:
Window= blackman(15);
b=fir1(14,[0.3 0.5],Window); freqz(b,1);
N=45时:
结论:hanning幅频响应比较理想,balckman幅频响应比较好,boxcar两方面都比较差。
3、 用Kaiser窗设计一个专用的线性相位滤波器。
N=40,理想的幅频特性如下图所示:
0.2π0.4π0.6π0.8ππ
值分别4,6,8时,设计相应的滤波器,比较它们的幅频和相位特性,观察并分析值不同的时候对结果有什么影
(1)=4
window=kaiser(40,4);
b=fir1(39,[0.2,0.4],window);window=kaiser(40,4);
a=fir1(39,[0.6,0.8],window);c=a+b;freqz(c,1)
(2)=6
window=kaiser(40,6);
b=fir1(39,[0.2,0.4],window);window=kaiser(40,6);
a=fir1(39,[0.6,0.8],window);c=a+b;freqz(c,1)(3)=8 程序略
结论:当增加时,幅频曲线两个通频带的连接部分越来越平坦;而相频曲线的线性则越加完美。
三、思考题
1、定性的说明用本实验程序设计的FIR滤波器的3dB截至频率
在什么位置?它等于理想频率响应的截至频率吗?
答:第一,二个实验大约在中间频率左右距离大约1.2处,第萨巴个大约在中间频率左右0.08处,不等于理想截止频率,但比较接近。
2、如果没有给定 的长度N,而是给定了通带边缘截至频率 和阻带临界以及相应的衰减,你能根据这些条件用窗函数法设计线性相位FIR低通滤波起吗?
答:可以使用hamming窗,长度N=ceil(6.6*pi/tr_wide)+1;tr_wide为过渡带宽度。求出N,则可用如下程序设计:window=hanning(15);
b=fir1(14,[0.3,0.5],window);
3、 频率取样方法和窗函数法各有什么特点?简单说
明?
答:窗函数法已经编程完成可以简单快捷地调用,有多种函数可以进行选择设计,在加长序列长度的前提下可以得到十分理想的通带阻带;频率取样法则需要根据情况自行设计,其计算比较简单,在较低阶数下可以完成相应设计,但是结果不如窗函数精确。
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- 517ttc.cn 版权所有 赣ICP备2024042791号-8
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务