信号与系统专题研讨
二
信号与系统专题研讨二
【目的】
(1) 加深对信号与系统频域分析基本原理和方法的理解。
(2) 学会利用MATLAB进行信号与系统的分析。
(3) 培养学生自主学习能力,以及发现问题、分析问题和解决问题的能力。
【研讨题目】
(由于第二道题已经有很多小组做过,所以我们小组在做完第二道研讨题后,又选择了无人问津的第五道题,研讨的过程和结果附在第二道题的后面)
一、抽样引起的混叠
频率为f0 Hz的正弦信号可表示为
按抽样频率fs=1/Ts对x(t)抽样可得离散正弦序列x[k]
在下面的实验中,抽样频率fs=8kHz。
(1)对频率为2kHz, 2.2 kHz, 2.4 kHz和 2.6 kHz正弦信号抽样1 秒钟,利用MATLAB函数 sound(x, fs)播放这四个不同频率的正弦信号。
(2)对频率为7.2 kHz, 7.4 kHz, 7.6 kHz和 7.8 kHz正弦信号抽样1 秒钟,利用MATLAB函数 sound(x, fs)播放这四个不同频率的正弦信号。
(3)比较(1)和(2)的实验结果,解释所出现的现象。
【题目分析】
(1)一拿到题目我们就遇到了一个问题,正弦信号为什么可以转变为声音,后来经过小组内讨论,大家一致认为正弦信号是一种机械波的模拟,是由振动产生的,因此,可以通过sound函数播放出声音。
(2)要想做到抽样1秒钟,就必须注意k的取值范围,即k的取值范围为0~8000。
(3)用stem函数画出抽样后离散的点。
【仿真程序】
k=0:1:8000;
f0=input('f0=');
fs=8000;
x=sin(2*pi*f0/fs*k);
sound(x,fs);
subplot(211)
stem(k,x)
axis([0 20 -1 1])
subplot(212)
plot(k,x)
axis([0 20 -1 1])
【仿真结果】
(1)
2kHz
2.2kHz
2.4kHz
2.6kHz
现象:随着声音频率的变大,声音在逐渐变得尖细且高。
(2)
7.2kHz
7.4kHz
7.6kHz
7.8kHz
现象:随着声音频率的变大,声音逐渐变得粗犷且低沉。
【结果分析】
频率同在增大,产生两个不同的现象,是因为离散时域信号的频域是以2为周期的,在抽样频率较小时,在频域上会出现频域的非零值叠加(即混叠),此时随着抽样频率的增加,叠加部分减少,并且使频谱向的奇数倍移动,高频分量增加,声音变得尖一些;而在抽样频率接近信号的频率时,由于频谱的周期性,此时频谱是会随着抽样频率的增加向的偶数倍方向移动,高频分量减少,声音变得低沉。只有符合时域抽样定理的抽样,才不会发生混叠,即抽样的最小频率为2fm。
【自主学习内容】
(1)Input函数、sound函数、stem函数的用法。
(2)奈奎斯特抽样定理在MATLAB仿真中的应用。
(3)MATLAB中对信号进行傅里叶变换的函数fft的用法。
【阅读文献】
1、《信号与系统》 陈后金 胡建 薛健 编著
2、《信号与系统实验第二篇》
3、《MATLAB处理音频信号》
【发现问题】
因为时域的抽样引起频域的混叠,所以我们小组一开始是想从频域进行分析,得到信号的频谱如下:
2kHz
2.4kHz
2.6kHz
7.2kHz
7.4kHz
由频谱图像我们不能清楚地辨别信号是否发生混叠,从频域入手分析的方法一度陷入僵局。为什么频域发生的混叠,从频谱却不容易看出来呢?
【问题探究】
正弦信号的Fourier变换为,为冲击信号,即使频谱发生混叠,也不易观察出。后来经过仔细思考,我们发现这道题不需要在频域进行分析,时域信号抽样后的波形就已经很好的说明了问题。有时候我们可以抛弃思维定势,从另一个领域寻找到答案。
【研讨题目】
二、分析实际物理系统的频率响应。
【题目分析】
MATLAB并不是一款分析电路系统的软件,所以我们一开始看到这道题的时候就有些茫然,但是MATLAB有强大的计算、分析和画图功能,我们可以利用其中求系统频率响应的函数freqs画出该物理系统的幅频曲线和相频曲线。
MATLAB提供了许多可用于分析线性时不变连续系统的函数,主要包含有系统函数、系统时域响应、系统频域响应等分析函数。
连续时间LTI系统可用如下的线性常系数微分方程来描述:
在调用MATLAB函数时,需要利用连续系统对应的系数函数。对微分方程进行Laplace变换即可得系统函数:
在MATLAB中可使用向量和向量分别保存分母多项式和分子多项式的系数:
这些系数均按s的降幂直至s0排列。
若连续因果LTI连续系统的系统函数H(s)的极点全部位于S左半平面,则系统的频率响应可由H(s)求出,即
MATLAB中freqs函数可以分析连续系统的频响,格式如下:
H=freqs(b,a,w):
计算系统在指定频率点向量w上的频响H;w为频率点向量。
[H,w]=freqs(b,a) :自动选取200个频率点计算频率响应。
因此,我们必须先对该物理系统进行分析,得出系统函数,具体分析过程如下:
对于第一个物理系统从左到右将节点电压依次标为V1、V2、V3、V4,TP11端电压为VC,TP12端电压为V0
将其看成两个系统级联的形式,系统函数H(s)=H1(s)H2(s)
系统一的节点方程为:
带入数据求得:
系统二的节点方程为:
带入数据求得:
同理:第二个物理系统的系统函数为:
【仿真程序】
w=linspace(0,100000,10000)
b=[0,0,0,0,1];
a=[0.000000000000000000296,0.0000000000000627,0.00000000386 0.0000575 0.25];
H=freqs(b,a,w);
subplot(2,1,1);
plot(w,abs(H));
xlabel('Frequency(rad/s)');
ylabel('Amplitude');
subplot(2,1,2);
plot(w,angle(H));
xlabel('Frequency(rad/s)');
ylabel('Angle');
w=linspace(0,100000,10000)
b=[22.09,0,0,0,0];
a=[6.12,109000,1690000000,200000000000,241000000000000000];
H=freqs(b,a,w);
subplot(2,1,1);
plot(w,abs(H));
xlabel('Frequency(rad/s)');
ylabel('Amplitude');
subplot(2,1,2);
plot(w,angle(H));
xlabel('Frequency(rad/s)');
ylabel('Angle');
【仿真结果】
【结果分析】
由幅频及相频曲线可知:第一个物理系统为低通滤波器,第二个物理系统为高通滤波器。因为,对于第一个物理系统,随着频率的增大,幅频曲线逐渐趋近于零,即高频信号被滤掉,不能输出,为低通滤波器;对于第二个物理系统,当频率较低时,幅频曲线趋于零,而频率逐渐升高时,幅频曲线呈上升趋势最后趋近于某一非零值,即低频信号被滤掉,不能输出,为高通滤波器。
【自主学习内容】
1、MATLAB中Linspace函数的应用: linspace(a,b,N)表示把[a,b]均分成N个数,包括a和b
2、MATLAB中freqs函数的应用:freqs函数可以分析连续系统的频响,格式如下:
H=freqs(b,a,w):
计算系统在指定频率点向量w上的频响H;w为频率点向量。
[H,w]=freqs(b,a) :自动选取200个频率点计算频率响应。
由得
3、高通滤波器与低通滤波器的特性
【阅读文献】
1、《信号与系统》 陈后金 胡建 薛健 编著
2、《基础电路分析》 杜普选 闻跃 高岩 编著
3、《MATLAB在信号与系统分析中的应用》
【发现问题】
1、在做这道题时,我们发现运用我们现有的基础电路分析知识分析该物理系统过程过于复杂繁琐,而且整个求解过程几乎全都集中在笔算的电路分析上,MATLAB只是作为最后的数据分析工具,不知道有没有较为简便的方法,使计算过程既简便又能到达目的。
2、电容C的s域模型是,与积分器只差一个系数,因此,我们是否可以将电容看做积分器,用系统的模拟框图解决这道题?但是运算放大器该如何处理呢?
【问题探究】
根据发现的问题,我们查阅了模拟电子技术中关于集成运算放大器的相关知识,但是还没有找到相应的解决方法。对于这道题,我们是运用已学的有限的电路分析知识从理论上进行的计算,运算过程繁琐,希望在下学期学习了模拟电子技术的相关知识以后,能有新的见解和体会。