信号与系统matlab时域研讨.docx
- 文档编号:7441777
- 上传时间:2023-01-24
- 格式:DOCX
- 页数:20
- 大小:617.34KB
信号与系统matlab时域研讨.docx
《信号与系统matlab时域研讨.docx》由会员分享,可在线阅读,更多相关《信号与系统matlab时域研讨.docx(20页珍藏版)》请在冰豆网上搜索。
信号与系统matlab时域研讨
《信号与系统》课程研究性学习手册
姓名黄楚峰
学号10212036
同组成员王娟10212048
李梦琦10212037
丁莹10212032
梁逍净10211095
张建萍10211107
指导教师杨恆
时间2011.11.21
信号的时域分析专题研讨
【目的】
(1)掌握基本信号及其特性,了解实际信号的建模。
(2)掌握基本信号的运算,加深对信号时域分析基本原理和方法的理解,并建立时频之间的感性认识。
(3)学会仿真软件MATLAB的初步使用方法,掌握利用MATLAB进行信号表示和信号运算。
【研讨内容】
题目1:
基本信号的产生,语音的读取与播放
1)生成一个正弦信号,改变正弦信号的角频率和初始相位,观察波形变化,并听其声音的变化。
2)生成一个幅度为1、基频为2Hz、占空比为50%的周期方波。
3)观察一定时期内的股票上证指数变化,生成模拟其变化的指数信号。
4)分别录制一段男声、女声信号,进行音频信号的读取与播放,画出其时域波形。
【温馨提示】
(1)利用MATLAB函数wavread(file)读取.wav格式文件。
(2)利用MATLAB函数sound(x,fs)播放正弦信号和声音信号。
【题目分析】
正弦信号的形式为
和
,分别用MATLAB的内部函数
和
表示,其调用形式为
、
。
【仿真程序】
1生成一个正弦信号
A=1;w0=2*pi;phi=pi/6;
t=1:
0.001:
8;
xt=A*sin(w0*t+phi);
plot(t,xt)
2改变角频率
(1)增大角频率
A=1;w0=4*pi;phi=pi/6;
t=1:
0.001:
8;
xt=A*sin(w0*t+phi);
plot(t,xt)
(2)减小角频率
A=1;w0=pi;phi=pi/6;
t=1:
0.001:
8;
xt=A*sin(w0*t+phi);
plot(t,xt)
3改变初始相位
(1)减小初始相位
A=1;w0=2*pi;phi=0;
t=1:
0.001:
8;
xt=A*sin(w0*t+phi);
plot(t,xt)
(2)增大初始相位
A=1;w0=2*pi;phi=pi/2;
t=1:
0.001:
8;
xt=A*sin(w0*t+phi);
plot(t,xt)A=3000;a=-0.004;
t=0:
0.001:
130;
y=A*exp(a*t);
plot(t,y)
3观察一定时期内的股票上证指数变化,生成模拟其变化的指数信号
A=10;a=0.004;
t=0:
0.001:
10;
y=A*exp(a*t);
plot(t,y)
4分别录制一段男声、女声信号,进行音频信号的读取与播放,画出其时域波形。
Fs=44100;bits=32;
[y,Fs,nbits]=wavread('yuyin.wav');
wavplay(y,Fs)
plot(y)
【仿真结果】
1生成一个正弦信号
A=1;w0=2*pi;phi=pi/6;
t=1:
0.001:
8;
xt=A*sin(w0*t+phi);
plot(t,xt)
2改变角频率
(1)增大角频率
A=1;w0=4*pi;phi=pi/6;
t=1:
0.001:
8;
xt=A*sin(w0*t+phi);
plot(t,xt)
(2)减小角频率
A=1;w0=pi;phi=pi/6;
t=1:
0.001:
8;
xt=A*sin(w0*t+phi);
plot(t,xt)
3改变初始相位
(1)减小初始相位
A=1;w0=2*pi;phi=0;
t=1:
0.001:
8;
xt=A*sin(w0*t+phi);
plot(t,xt)
(2)增大初始相位
A=1;w0=2*pi;phi=pi/2;
t=1:
0.001:
8;
xt=A*sin(w0*t+phi);
plot(t,xt)
3观察一定时期内的股票上证指数变化,生成模拟其变化的指数信号
【结果分析】
提示:
应从以下几方面对结果进行分析:
(1)随着正弦信号角频率的变化,其波形有什么变化,听到的声音又有变化?
它们之间有什么关系?
增大角频率,在单位时间内波形更密集,声音的音调更高;减小角频率,在单位时间内波形更稀疏,声音的音调更低。
(2)男声和女声信号的时域波形有什么区别?
【结果分析】:
通过调用不同的函数,可以实现不同信号的输出和变换,亦可以对音频信号进行读取与播放。
【自主学习内容】:
函数调用语句;音频信号读取与播放函数。
【阅读文献】:
[1]陈华丽.信号与系统实验教程.[M].机械工业出版社
【发现问题】:
因为此题较为简单,在研讨过程中并未发现严重的问题,一些小的错误很快就改正了。
【问题探究】:
编写语句时要细心,避免一些马虎错,及时发现并改正错误。
【研讨内容】
题目2:
信号的基本运算(语音信号的翻转、展缩)
1)将原始音频信号在时域上进行延展、压缩,
2)将原始音频信号在时域上进行幅度放大与缩小,
3)将原始音频信号在时域上进行翻转,
【题目分析】
掌握信号的基本运算,学会用matlab进行信号的运算
【仿真程序】
程序如下:
1)原信号的2倍延展
fs=44100;bits=32;
[x,fs,nbits]=wavread('yuyin.wav');
x1=x(1:
2:
end);wavplay(x1,fs);
plot(x1)
原信号的0.5倍压缩
fs=44100;bits=32;
[x,fs,bits]=wavread('yuyin.wav');
x1=x(1:
1/2:
end);wavplay(x1,fs);
plot(x1)
2)原信号的幅度放大到2倍
fs=44100;bits=32;
[x,fs,bits]=wavread('yuyin.wav');
x1=x(1:
1:
end);wavplay(2*x1,fs);
plot(x1)
原信号的幅度缩小到0.5倍
fs=44100;bits=32;
[x,fs,bits]=wavread('yuyin.wav');
x1=x(1:
1:
end);wavplay(0.5*x1,fs);
plot(x1)
3)原信号的翻转
fs=44100;bits=32;
[x,fs,bits]=wavread('yuyin.wav');
x1=flipud(x);wavplay(x1,fs);
plot(x1)
【仿真结果】
2)
3)
【结果分析】
由上面的图示可以看出,信号进行0.5倍压缩和2.0倍延展后,信号的波形分别变得疏散和密集,同时由存储的处理后的信号音频,可以感觉出0.5倍压缩后的信号的音色变得粗了,而2.0倍延展后的信号音频的音色变得尖了。
对0.5压缩而言,原本应该在X=2处播放的部分,被放到了X=4处播放,所以音频听起来变得音色粗了,波形变得疏散了;对2.0延展而言,原本在X=2出播放的部分在X=1处播放了,因此音频听起来音色变得尖了,波形变得密集了。
对于对信号幅度的2倍和0.1倍的改变,音频上可以听出来音量大小发生了改变。
2倍变化时,音量变大,0.1倍时音量变小。
翻转信号时,图示上可以看出图形的翻转变化。
音频上,音乐的播放发生了倒置。
【自主学习内容】
如何使用相应的MATLAB函数将音频信号录入播放,以及如何将其音质改变。
信号压缩、延展、增减幅和翻转的相应技术。
【阅读文献】
[1]苏金明·王永利·MATLAB7.0使用指南[M]·北京:
电子工业出版社,2001.10·
[2]黄文梅·熊桂林·杨勇·信号分析与处理-MATLAB语言及应用[M]·长沙:
国防科技大学出版社,2000.2
【发现问题】(专题研讨或相关知识点学习中发现的问题):
在进行信号的0.5倍压缩时,运行程序后,会出现一下这句话:
Warning:
Integeroperandsarerequiredforcolonoperatorwhenusedasindex不过不影响最终信号的输出。
【问题探究】
这句话是说,整数运算所需要的冒号运算符时,作为参考指标。
一开始并不知道这句话的作用,后来知道进行的0.5倍压缩非整数运算,在这样的情况下,冒号运算符要作为参考指标。
【研讨内容】
题目3:
系统响应时域求解
1)求一个RLC电路的零输入响应和零状态响应。
2)将原始音频信号中混入噪声,然后用M点滑动平均系统对受噪声干扰的信号去噪,改变M点数,比较不同点数下的去噪效果。
【题目分析】
(1)RLC电路如下图。
则该RLC电路的微分方程为y"(t)+7y'(t)+y(t)=x(t),输入的信号是x(t)=sin(10πt)u(t)。
求系统y"(t)+7y'(t)+y(t)=x(t)的零状态响应,已知x(t)=sin(10πt)u(t)。
(2)题目要求采用M点滑动平均系统去噪。
M点滑动平均系统可以看成是N=0的差分方程。
条用filter函数时,调用参数a-1=1,b为有M个元素的向量,b中每个元素的值为1/M。
即M点的滑动平均系统输入输出关系为:
y[k]=
,同时我们将噪声设为n,函数为n=rand(n,1);原始信号为s。
通过调整M值,观察和比较去噪效果,从而得出结论。
【仿真程序】
(1)
ts=0;te=5;dt=0.01;
sys=tf([1],[171]);
t=ts:
dt:
te;
x=sin(10*pi*t);
y=lsim(sys,x,t);
plot(t,y);
xlabel('Time(sec)')
ylabel('y(t)')
(2)
R=100;d=rand(1,R)-0.5;
k=0:
R-1;
s=k.*(0.9.^k);x=s+d;
figure
(1);
plot(k,d,'r-.',k,s,'b--',k,x,'g-');
M=5;b=ones(M,1)/M;a=1;
y=filter(b,a,x);
figure
(2);
plot(k,s,'b--',k,y,'r-');
【仿真结果】
(1)零状态响应的图像
(2)图
(一)为原图,其中红线为噪声d[x],绿线为噪声干扰的信号x[k],蓝线为原信号s[k]
图
(一)
图
(二)、图(三)和图(四)为不同M值下噪声干扰的信号和原信号的图像,红线为噪声干扰的信号x[k],蓝线为原信号的图像s[k]。
M=1;
图
(二)
M=5;
图(三)
M=10;
【结果分析】
随着M值的增大,噪声干扰信号逐渐变得平滑,且和原信号图形比较接近,说明当M值增加到一定的值时,去噪的效果好。
【自主学习内容】
函数的调用
【阅读文献】
[1]陈后金,胡健,薛健.信号与系统[M].北京:
清华大学出版社,北京交通大学出版社,2007.
[2]李刚.MATLAB函数速查手册[M].北京:
清华大学出版社,2011.
【发现问题】(专题研讨或相关知识点学习中发现的问题):
在用MATLAB时,对要用到的函数的功能还不太了解。
【问题探究】使用MATLAB命令行的help功能,阅读相关的工具书。
【研讨内容】
题目4:
连续信号卷积的近似计算
两个连续信号的卷积定义为
为了进行数值计算,需对连续信号进行抽样。
记x[k]=x(k∆),h[k]=h(k∆),∆为进行数值计算的抽样间隔。
则连续信号卷积可近似的写为
(1)
这就可以利用conv函数可近似计算连续信号的卷积。
设x(t)=u(t-u(t-1),h(t)=x(t)*x(t),
(a)为了与近似计算的结果作比较,用解析法求出y(t)=x(t)*h(t);x
(b)用不同的∆计算出卷积的数值近似值,并和(a)中的结果作比较;
(c)证明
(1)式成立;
(d)若x(t)和h(t)不是时限信号,则用上面的方法进行近似计算会遇到什么问题?
给出一种解决问题的方案;
(e)若将x(t)和h(t)近似表示为
推导近似计算卷积的算法。
取相同的抽样间隔,比较两种方法的计算卷积误差。
题目分析:
通过抽样对连续卷积运算进行模拟,加深对卷积的理解。
仿真程序:
a)
则
即:
b)T=0.1;
k=-1:
T:
4;
f1=1*((k>=0)&(k<=1));
f2=tripuls(k-1,2);
y=T*conv(f1,f2);
tmin=-2;tmax=8;
t1=tmin:
0.1:
tmax;
plot(t1,y)
gridon
c)如果x(t)和h(t)不是时限信号时,则会有无穷多个抽样点,程序将无法处理,进行计算。
d)
这样的表达相当于把x(t)和h(t)分为无穷多个宽度为
的信号的和,但推导过程不会。
仿真结果:
b)
T=0.001
T=0.01
T=0.1
结果分析:
在数值计算卷积时,对于不同的抽样间隔,卷积结果纵坐标会有不同。
自主学习内容:
卷积函数conv的调用格式
阅读文献:
[1]陈华丽.信号与系统实验教程.[M].机械工业出版社
[2]陈后金,胡健,薛健.信号与系统(第二版)[M].北京:
清华大学出版社,北京交通大学出版社,2005.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 信号 系统 matlab 时域 研讨
![提示](https://static.bdocx.com/images/bang_tan.gif)