电子科大信号与系统实验二报告

更新时间:2023-12-25 06:22:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

电子科技大学 通信 学院

标 准 实 验 报 告

(实验)课程名称 信号的基本表示及时域

电子科技大学教务处制表

电 子 科 技 大 学

实 验 报 告

学生姓名: 学 号: 指导教师:

实验地点: 基础实验大楼306,308 实验时间:

一、实验室名称:数字信号处理实验室 二、实验项目名称:频域及变换域分析 三、实验学时:4 四、实验原理:

1. 信号的频谱

一个离散时间信号x[n]的DTFT由下式给出

X(e)?jωn????jnωx[n]e??

在用MATLAB计算一个信号的DTFT之前,有两个问题必须要提出来。首先,如果x[n]是无限长的话,那么要将x[n]截断到一个有限长信号,因为只有有限长信号才能用MATLAB的向量表示。另一个具有实际意义的问题是X(e)定义在连续变量?上的,而X(e)仅能基于一组频率的离散样本上通过内插求值。如果将频率样本选得足够多,那么这些频率样本上的图一定是真正DTFT的一个好的近似。为了计算高效,最好的一组频率样本应是在

jwjw0#w2p区间内,由wk=2pk/N,k=0,L,N-1给出的等分点上。对于一个仅在

M-1n=00?n?M?1内为非零值的信号x[n],这些频率样本就对应于

X[k]=X(e)=jωk?x[n]e-j2pkn/N,k=0,L,N-1

函数fft以一种计算上高效的方式实现上式。若x是包含在0?n?M?1上x[n]的向量,

那么X=fft(x,N),N?M。通过fft的计算结果X(k)存入向量X中。向量X也就是x的DTFT在N个等分点上的样本值。如果N?M,那么MATLAB函数fft会先将x截断为它的前N个序列值,对截取到的这N个序列值再做计算;但这样得到的DTFT的样本值不正确。

函数fft 的结果中k?N/2的X(k)的部分, 对应于DTFTX(e)在-p?wjw0区

间上的样本值。基于DTFT的周期性,如果要想基于fft的结果得到DTFT完全对应于

-p?wkp区间上的样本,需用?=?-pi移动频谱期间,然后利用函数fftshift进行重新排

列,将FFT的DC分量移到频谱中心 2. 系统的频率响应

信号ej?n是离散LTI系统的特征函数。对每个ω值,频率响应H(ej?nj?)是该LTI系统对

于特征函数e的特征值;当输入序列是x[n]?ej?0n时,输出序列就是

y[n]?H(ej?0)ej?0n。

对于一个由差分方程描述的因果LTI系统

NM?ak?0ky[n?k]??bmx[n?m]

m?0命令

[H omega]=freqz(b,a,N)

计算出在0和?之间N个等分频率上(即?k?(?/N)k,0?k?N?1)的频率响应

H(ej?),其中系数向量a和b标定出差分方程。根据上面的命令,由freqz就得到H中H(ej?k)和在omega中的频率?k。

当命令中包括’whole’的选型,如

[H omega]=freqz(b,a,N,’whole’)

能计算出从0到2?的N个等分频率上(即?k?(2?/N)k,0?k?N?1)的频率响应

H(ej?)。

不带输出变量的freqz函数可在当前图像窗口中绘制出幅频和相频特性曲线。

3. 系统的变换域分析

离散系统的时域方程为

?ak?0Nky[n?k]??bmx[n?m]

m?0M

B(ej?)b0?b1e?j??...?bMe?jM?对应的系统的频率响应为 H(e)? ?j??j??jN?A(e)a0?a1e?...?aNej?对应的Z变换为

y[n]xn[]hn[]m=-??¥xm[hn][mZT]Yz(X)zHz( )系统的转移函数为

B(z)b0?b1z?1?...?bMz?MH(z)??A(z)a0?a1z?1?...?aNz?N

分解因式

H(z)??bzki?0Ni?0M?i?K?(1??zii?1Ni?1M?1) ,其中?i和?i称为零、极

?iaz?k?1(1??z?i)点。

在MATLAB中,可以用函数[z,p,K]=tf2zp(num,den)求得有理分式形式的系统转移函数的零、极点,用函数zplane(z,p)绘出零、极点分布图;也可以用函数zplane(num,den)直接绘出有理分式形式的系统转移函数的零、极点分布图。 4.滤波器设计实现

常用的滤波器有巴特沃斯(Butterworth)滤波器、切比雪夫(Chebyshev)滤波器、椭圆(Ellipse)滤波器等。图2-1给出了一个典型的数字低通滤波器的幅频特性说明。

? ) G ( e j P 1 ? ? 1 ? ? P ? ? s 阻带

过渡带

? ? P 通带 ? P ? ? ? S ? S

图2-1 典型的数字LPF幅频特性

MATLAB中常用的滤波器设计函数有:butter、 buttord(巴特沃斯滤波器); cheb1ord, cheb2ord, cheby1, cheby2(切比雪夫1、2型滤波器); ellip, ellipord(椭圆滤波器)等。

以设计Butterworth滤波器为例: 首先,由buttord函数计算滤波器阶数:

[N, Wn] = buttord(Wp, Ws, Rp, Rs)

其中,N为返回阶数,Wn为截止频率点(3dB频率)。Wp为通带边缘频率,Ws为阻带边

缘频率,Wp和Ws均为规一化频率,取值0~1。Rp为通带峰值起伏(dB),Rs为最小阻带衰减(dB)。如下为典型的滤波器参数设计: 低通: Wp = .1, Ws = .2

高通: Wp = .2, Ws = .1 带通: Wp = [.2 .7], Ws = [.1 .8] 带阻: Wp = [.1 .8], Ws = [.2 .7] 然后,由butter函数计算出滤波器系数: [b,a] = butter(N,Wn)

此命令设计了一个N阶的巴特沃斯数字低通滤波器,并返回长度为N+1的滤波器系数:分子向量b与分母向量a,这些系数以加权递减的形式被列出。

五、实验目的:

目的:

1、理解离散时间傅里叶变换(DTFT),能够利用MATLAB计算信号的幅度谱和相位谱

2、理解系统的频率响应,能够利用MATLAB绘制系统的频率响应图。 3、理解系统的频域分析方法,能够利用MATLAB设计滤波器。

4、理解系统的复频域分析方法,能够利用MATLAB绘制系统的零极点图。 任务:

1、利用MATLAB函数fft计算DTFT;绘制信号的频谱图和相频图。

2、利用MATLAB函数freqz求离散信号的频率响应;根据系统的幅频和相频特性分析系统的特征。

3、利用MATLAB函数tf2zp、zplane求系统零极点及绘制零极点图;根据系统零极点图求系统的频率响应。

4、设计滤波器,提取输入信号中的指定频率成分。

六、实验内容:

1、用解析方法计算矩形脉冲x[n]?u[n]?u[n?10]的DTFT,同时创建包含x[n]非零样本的向量x。对向量x的DTFT 解析结果,创建一个包含频率样本?=2*pi*k/N,k=[0:N-1],N=100个频率点的向量。画出在这个范围上|X(ej?)|的图,以及相位?X(ej?)的图。

2、用函数fft计算x[n]?u[n]?u[n?10]的DTFT样本,其中N=100。并将结果存入向量X中。画出X对?在-p?w何?

3、利用实验内容2中fft计算出的频谱,编制程序画出x[n+5]的频谱。

p的幅值和相位。比较实验内容1中的结果,情况如

4、定义用向量a和b描述差分方程y[n]?0.8y[n?1]?2x[n]?x[n?2]表征的因果LTI系统。利用freqz定义系统H1,用omega1表示其频率值。请计算出其在0和?之间的8个等分频率点上的频率响应值,并绘出相应的点;绘出幅频和相频特性曲线。

5、利用freqz定义系统H2,用omega2表示其频率值。计算其在0和2?之间的16个等分频率上的频率响应的值,并绘出相应的点;绘出幅频和相频特性曲线。

6、分别对

系统一:y[n]?x[n?4]

系统二:y[n]?0.5y[n?1]?2x[n]?x[n?1]

的频率求得对应的H1(ej?)、H2(ej?),绘制其幅值谱和相位谱,并做比较。两个系统是

全通系统吗?相位一样吗?

7、对系统

H(z)?11?0.9z?1?0.81z?2

,绘制幅度频率响应曲线和零、极点分布图。

8、载入实验1中的数据文件DTMF0.mat和DTMF6.mat。分别画出数字“0”和数字“6”的频谱图。将二者信号相加,生成一个新的信号DTMF_sum。画出该信号的时域波形和频谱图。

9、在Matlab上设计合适的滤波器,根据数字“0”和数字“6”的频率特点,从DTMF_sum中分离出数字“0”,给出滤波器系统函数并绘制滤波器的频谱图,绘制经过滤波器分离之后的DTMF_0和DTMF_6的信号频谱图。

七、实验器材(设备、元器件):计算机、MATLAB软件。 八、实验步骤:

1、用解析方法计算矩形脉冲x[n]?u[n]?u[n?10]的DTFT,同时创建包含x[n]非零样本的向量x。对向量x的DTFT 解析结果,创建一个包含频率样本?=2*pi*k/N,k=[0:N-1],N=100个频率点的向量。画出在这个范围上|X(ej?)|的图,以及相位?X(ej?)的图。

2、用函数fft计算x[n]?u[n]?u[n?10]的DTFT样本,其中N=100。并将结果存入向量X中。画出X对?在-p?w何?

3、利用实验内容2中fft计算出的频谱,编制程序画出x[n+5]的频谱。

4、定义用向量a和b描述差分方程y[n]?0.8y[n?1]?2x[n]?x[n?2]表征的因果LTI系统。利用freqz定义系统H1,用omega1表示其频率值。请计算出其在0和?之间的8个等分频率点上的频率响应值,并绘出相应的点;绘出幅频和相频特性曲线。

5、利用freqz定义系统H2,用omega2表示其频率值。计算其在0和2?之间的16个

p的幅值和相位。比较实验内容1中的结果,情况如

等分频率上的频率响应的值,并绘出相应的点;绘出幅频和相频特性曲线。

6、分别对

系统一:y[n]?x[n?4]

系统二:y[n]?0.5y[n?1]?2x[n]?x[n?1]

的频率求得对应的H1(ej?)、H2(ej?),绘制其幅值谱和相位谱,并做比较。两个系统是

全通系统吗?相位一样吗?

7、对系统

H(z)?11?0.9z?1?0.81z?2

,绘制幅度频率响应曲线和零、极点分布图。

8、载入实验1中的数据文件DTMF0.mat和DTMF6.mat。分别画出数字“0”和数字“6”的频谱图。将二者信号相加,生成一个新的信号DTMF_sum。画出该信号的时域波形和频谱图。

9、在Matlab上设计合适的滤波器,根据数字“0”和数字“6”的频率特点,从DTMF_sum中分离出数字“0”,给出滤波器系统函数并绘制滤波器的频谱图,绘制经过滤波器分离之后的DTMF_0和DTMF_6的信号频谱图。

九、实验数据及结果分析:

function ex2_1 N=100; x=ones(1,11); X=zeros(1,N); for k=0:N-1; w=2*pi*k/N; for n=1:11;

X(k+1)=x(n)*exp(-1i*n*w)+X(k+1); end end k=0:N-1; w=2*pi/N*k; w=w-pi; subplot(2,1,1); plot(w,abs(X)); xlabel('ω'); ylabel('幅值'); subplot(2,1,2); plot(w,angle(X)); xlabel('ω'); ylabel('相位');

function ex2_2 x=ones(1,11); N=100;%2é?ùμ?êy X=fft(x,N); k=0:N-1; w=2*pi*k/N; w=w-pi; subplot(2,1,1); plot(w,abs(X)); xlabel('ω'); ylabel('幅值'); subplot(2,1,2); plot(w,angle(X)); xlabel('ω'); ylabel('相位');

与实验一中的结果很相似。

function ex2_3 x=ones(1,11); N=100; X=fft(x,N); k=0:N-1; w=2*pi*k/N; w=w-pi;

X=X.*exp(1i.*w.*5); subplot(2,1,1); plot(w,abs(X)); xlabel('ω'); ylabel('幅值'); subplot(2,1,2); plot(w,angle(X)); xlabel('ω'); ylabel('相位');

实验4和5:

function ex2_4 N=8;

a=[1 -0.8];b=[2 0 -1]; [H1, omega1]=freqz(b,a,N);

[H2, omega2]=freqz(b,a,2*N,'whole'); subplot(2,3,1);plot(omega1,abs(H1)); xlabel('ω');

ylabel('幅值');

subplot(2,3,2);plot(omega1,angle(H1)); xlabel('ω'); ylabel('相位'); k=0:N-1; w1=(pi/N)*k;

subplot(2,3,3);plot(w1,H1,'o'); xlabel('ω');

ylabel('频率响应');

subplot(2,3,4);plot(omega2,abs(H2)); xlabel('ω');

ylabel('幅值');

subplot(2,3,5);plot(omega2,angle(H2)); xlabel('ω'); ylabel('相位'); k=0:2*N-1;

w2=(pi/N)*k;

subplot(2,3,6);plot(w2,H2,'o'); xlabel('ω'); ylabel('频率响应');

上面为实验4,下面为实验5

function ex2_6 N=8;

a1=[1 0 0 0 0];b1=[0 0 0 0 1]; a2=[1 -0.5];b2=[2 -1]; [H1,omega1]=freqz(b1,a1,N); [H2,omega2]=freqz(b2,a2,N);

subplot(2,2,1);plot(omega1,abs(H1)); xlabel('ω');

ylabel('H1幅值');

subplot(2,2,2);plot(omega1,angle(H1)); xlabel('ω');

ylabel('H1相位');

subplot(2,2,3);plot(omega2,abs(H2)); xlabel('ω');

ylabel('H2幅值');

subplot(2,2,4);plot(omega2,angle(H2)); xlabel('ω'); ylabel('H2相位');

两个系统不是全通系统且,相位不一样。

function ex2_7 a=[1 -0.9 0.81];b=1; [z,p,K]=tf2zp(b,a); subplot(2,1,1); zplane(z,p); N=100;

[H,omega]=freqz(b,a,N); subplot(2,1,2); plot(omega,abs(H)); xlabel('ω'); ylabel('H幅值');

function ex2_8 load DTMF0.mat; load DTMF6.mat; subplot(2,2,1); plot(t,dtmf0,'b'); xlabel('t'); ylabel('dtmf0');

subplot(2,2,2); plot(t,dtmf6,'b'); xlabel('t'); ylabel('dtmf6');

DTMF_sum=dtmf0+dtmf6; subplot(2,2,3); plot(t,DTMF_sum,'b'); xlabel('t');

ylabel('DTMF_sum的波形'); fft_y=fft(DTMF_sum); fftshift_y=fftshift(fft_y); f=linspace(-fs/2,fs/2,fs+1); subplot(2,2,4);

plot(f,abs(fftshift_y)/(fs+1)*2,'b'); xlabel('f');

ylabel('DTMF_sum的幅值'); save DTMF_sum.mat;

function ex2_9 load DTMF_sum.mat; f1=[900 1400];

f2=[700 1500]; wp=2*f1/(fs+1); ws=2*f2/(fs+1); rp=3; rs=40;

[N,Wn]=buttord(wp,ws,rp,rs); [b,a]=butter(N,Wn);

[H,omega]=freqz(b,a,N,'whole'); subplot(3,1,1);

plot(omega,abs(H),'b'); xlabel('ω');

ylabel('幅值');

y=filter(b,a,DTMF_sum); fft_y=fft(y);

fftshift_y=fftshift(fft_y); subplot(3,1,2);

plot(f,abs(fftshift_y)/(fs+1)*2,'b'); xlabel('f');

ylabel('DTMF_0的幅值');

rp=1; rs=20;

[N,Wn]=buttord(ws,wp,rp,rs); [b,a]=butter(N,Wn,'stop'); y=filter(b,a,DTMF_sum); fft_y=fft(y);

fftshift_y=fftshift(fft_y); subplot(3,1,3);

plot(f,abs(fftshift_y)/(fs+1)*2,'b'); xlabel('f');

ylabel('DTMF_6的幅值');

十、实验结论:

在这次实验中,我学会了在MATLAB中利用fft函数、freqz函数、tf2zp函数和zplane

函数计算信号的DTFT、求离散信号的频率响应、求系统零极点及绘制零极点图等,以及怎么设计滤波器,使自己对MATLAB的使用更加熟练了。

十一、总结及心得体会:

对于之前没有专门上过MATLAB课程的人来说,这次实验还是有些困难,不过在同学的

帮助下以及自己去查资料,终于解决了很多困难,也学会了很多知识,受益匪浅。

十二、对本实验过程及方法、手段的改进建议:

在实验指导书中添加详细的坐标长度、变量的规定,利于同学们的实验具有标准型,容

易分辨正误。

报告评分:

指导教师签字:

十二、对本实验过程及方法、手段的改进建议:

在实验指导书中添加详细的坐标长度、变量的规定,利于同学们的实验具有标准型,容

易分辨正误。

报告评分:

指导教师签字:

本文来源:https://www.bwwdw.com/article/5jyx.html

Top