实验四信号系统仿真

  • 格式:pdf
  • 大小:346.93 KB
  • 文档页数:5

实验四 信号系统仿真

一、实验目的

1、了解信号中常用的几种滤波器的使用方法。 2、掌握信号的基本运算,理解利用FFT命令进行信号傅里叶变换。

3、理解信号通过滤波器的滤波函数的调用。

4、掌握信号时域分析与频域分析的区别。

5、了解一个系统对输入信号处理,观察信号前后的变化。

二、实验原理

1、在《信号与系统》课程中,要分析一个系统,首先要建立描述该系统基本特征的数

学模型,然后用数学方法(或计算机仿真等)求出它的解答,并对结果赋予实际含义。连续或离散系统除用数学函数方程描述外,还可用框图表示系统的激励和响应之间的数学运算关

系。一个方框(或其他形状)可以表示一个具有某种功能的部件,也可以表示一个子系统。

每个方框内部的具体结构并非考察重点,而只注重其输入、输出之间的关系。

表示系统功能的常用基本单元有:积分器(用于连续系统)或延迟单元(用于离散系统)

以及加法和数乘器(标量乘法器),对于连续系统,有时还需用延时时间为T的延时器。 2、一般信号通过系统进行分析有两种方法:时域分析法和频域分析法。下面是一个系

统分析的简化图: 上图中x(t)、y(t)分别为系统的时域激励信号和响应信号,h(t)是系统的单位冲激响

应,它们三者之间的关系为:)(*)()(thtxty,由傅里叶变换的时域卷积定理可得到:

)()()(jHjXjY 4.1

或者: )()()(jXjYjH 4.2

)(jH为系统的频域数学模型,它实际上就是系统的单位冲激响应h(t)的傅里叶变换。即



dtethjHtj)()(

4.3 信号x(t)通过LTI系统分析图

系统LTI)(th)(jH)(ty

)(jX)(jY)(tx由于H(j)实际上是系统单位冲激响应h(t)的傅里叶变换,如果h(t)是收敛的,或者

说是绝对可积(Absolutly integrabel)的话,那么H(j)一定存在,而且H(j)通常是

复数,因此,也可以表示成复数的不同表达形式。在研究系统的频率响应时,更多的是把它表示成极坐标形式: )()()(jejHjH 4.4 上式中,)j(H称为幅度频率相应(Magnitude response),反映信号经过系统之后,信

号各频率分量的幅度发生变化的情况,)(称为相位特性(Phase response),反映信号经过系统后,信号各频率分量在相位上发生变换的情况。)(jH和)(都是频率的函

数。

对于一个系统,其频率响应为H(j),其幅度响应和相位响应分别为)(jH和)(,

如果作用于系统的信号为tjetx0)(,则其响应信号为

tjejHty0)()(0tjjeejH00)(0)())((000)(tjejH 4.5

若输入信号为正弦信号,即x(t) = sin(0t),则系统响应为

))(sin(|)(|)sin()()(00000tjHtjHty 4.6

可见,系统对某一频率分量的影响表现为两个方面,一是信号的幅度要被)(jH加权,

二是信号的相位要被)(移相。 由于)(jH和)(都是频率的函数,所以,系统对不同频率的频率分量造成的幅

度和相位上的影响是不同的。 3、我们通过两个例子来说明信号通过系统的两种分析方法:

例题1、一个正弦信号6*sin(20*pi*t)通过一个系统(此系统实现对信号乘以以个正弦sin(2*pi*t))通过编写MATLAB程序,仿真此系统的功能并绘制出信号通过此系统后的信号

波形与原来的变化。 程序如下:

t=0:0.01:2*pi;

m=6*sin(20*pi*t);

g=sin(2*pi*t);

y=m.*g; subplot(311)

plot(t,m);

title('6*sin(20*pi*t) signal');

subplot(312)

plot(t,g); title(' sin(2*pi*t) signal'); subplot(313);

plot(t,y); title('通过系统后的信号波形') 程序运行后的结果

图4-1 程序运行结果图

例题2、产生三个正弦成分(5Hz,15Hz,30Hz)的信号,然后,设计一滤波器来去除5Hz和30Hz,的正弦信号,保留15Hz信号的系统。

程序如下: %产生含有3个正弦分量的信号

Fs=100;

t=(1:100)/Fs;

s1=sin(2*pi*t*5);

s2=sin(2*pi*t*15);

s3=sin(2*pi*t*30); s=s1+s2+s3;

subplot(221);

plot(t,s);

xlabel('Time(second)');

ylabel('Time waveform'); title('含有三个正弦分量的信号');

%产生一个8阶的IIR带通滤波器,通带10Hz到20Hz,其频率响应如下:

[b,a]=ellip(4,0.1,40,[10 20]*2/Fs);

[H,w]=freqz(b,a,512);

subplot(222); plot(w*Fs/(2*pi),abs(H)); title('所设计的10Hz~20Hz的带通滤波器 ');

xlabel('Frequency(Hz)');ylabel('Mag.of frequency response');

grid on; %对信号进行滤波

sf=filter(b,a,s); subplot(223);

plot(t,sf);

xlabel('Time(seconds)'); ylabel('Rime waveform'); title('信号通过滤波系统后的时域波形 ')

axis([0 1 -1 1]); %绘出信号滤波前后的幅频图

S=fft(s,512); SF=fft(sf,512);

w=(0:255)/256*(Fs/2);

subplot(224);

plot(w,abs(S(1:256)),'r--',w,abs(SF(1:256)),'g');

xlabel('Frequency(Hz)');ylabel('Mag.of Fourier transform'); title('信号通过滤波系统前后频域波形分析')

grid on;legend('before','after') 程序运行后的结果:

图4-2 程序运行结果图

三、实验内容及步骤

实验前,必须首先阅读本实验原理,了解所给的MATLAB相关函数,读懂所给出的全部

范例程序。实验开始时,先在计算机上运行这些范例程序,观察所得到的信号的波形图。并

结合范例程序所完成的工作,进一步分析程序中各个语句的作用,从而真正理解这些程序。

实验前,一定要针对下面的实验项目做好相应的实验准备工作,包括事先编写好相应的实验程序等事项。 1. 读懂并运行示例程序,将波形图附于报告中,波形图左下角用文字工具注明学号及姓名。

(示例2中有部分语句超出现学习范围,要明白其物理概念。) 2. 如果设单频调制信号u(t)=cos(2*pi*t),AM调制系统的载波v(t)=4*cos(20*pi*t),用

MATLAB语言仿真整个结果 (1) 写出程序清单,绘出u(t)的时域和频域波形;v(t)的时域和频域波形,信号调制

后的时域和频域波形;(频域波形绘制参见下方提示) (2) 单频信号调幅波的表达式为:

y(t)=4*(1+m*cos(2*pi*t))*cos(20*pi*t) m为调制系数,调制系数m必须满足:01时,m=1时三种情况调制波形;分析为什么调制系数m必须满

足:0

提示:

利用例题2中求幅频特性命令,画出实验内容2中调制后信号的幅频特性。 S=fft(s,512);

SF=fft(sf,512);

w=(0:255)/256*(Fs/2);

subplot(224);

plot(w,abs(S(1:256)),'r--',w,abs(SF(1:256)),'g');

四、实验报告要求

1.简述实验目的及实验原理

2.按实验内容及步骤要求,写出程序清单,记录信号波形

3.实验总结(收获及体会)

本实验完成时间: 年 月 日