当前位置:文档之家› 北京交通大学《信号与系统》专题研究性学习实验报告

北京交通大学《信号与系统》专题研究性学习实验报告

《信号与系统》课程研究性学习手册专题一信号时域分析1. 基本信号的产生,语音的读取与播放【研讨内容】1) 生成一个正弦信号,改变正弦信号的角频率和初始相位,观察波形变化;2) 生成一个幅度为1、基频为2Hz 、占空比为50%的周期方波,3) 观察一定时期内的股票上证指数变化,生成模拟其变化的指数信号,4) 录制一段音频信号,进行音频信号的读取与播放【题目分析】⑴正弦信号的形式为Acosg o t+书)或Asin (3 o t+,分别用MATLAB 的内部函数cos 和sin 表示,其调用形式为y A* cos(w0* t phi)、y A*sin(wo*t phi)。

生成正弦信号为y=5sin(t), 再依次改变其角频率和初相,用matlab 进行仿真。

⑵幅度为1 ,则方波振幅为0.5 ,基频wO=2Hz ,则周期T=pi ,占空比为50% , 因此正负脉冲宽度比为 1 。

(3) 将波形相似的某一段构造成一个指数函数, 在一连续时间内构造不同的2~3 个不同指数函数即可大致模拟出其变化。

(4) 录制后将文件格式转化为wav ,再用wavread 函数读取并播放,用plot 函数绘制其时域波形。

【仿真】( 1 ) 正弦信号正弦信号 1 :A=1;w0=1/4*pi;phi=pi/16;t=-8:0.001:8;xt 仁A*si n(w0*t+phi);plot(t,xt1)title('xt 仁si n( 0.25*pi*t+pi/16)')正弦信号2 (改变1中频率)A=1;w1=1/4*pi;w2=1*pi;phi=pi/16; t=-8:0.001:8; xt 1= A*si n(w1*t+phi);xt2=A*si n(w2*t+phi);plot(t,xt1,t,xt2)正弦信号3 (改变1中相位)A=1;w=1/4*pi;phi仁pi/16;phi2=pi/4; t=-8:0.001:8; xt 1=A*si n(w*t+phi1);xt3=A*si n(w*t+phi2) plot(t,xt1,t,xt3)0.4 -0.2 -0 --0.2 --0.4 --0.6 --0.8 〜(2) 方波信号t=-100:0.01:100;T=0.5;f=1/T;y=square(2*pi*f*t,50);Plot(t,y);axis([-2 2 -3 3]);-3 1—--------- [ ------------ ■ ----------- 1- ---------- 1 ----------- 1 ----------- 1 ----------- 1 -------------------------t-2 -1.5 -1 -0.5 0 0.5 1 1.520.80.6-1 ------------- [ ---------- L-8 -6 -4(3) 模拟股票上证指数变化的指数信号x1=0:0.001:5;y1=2500+1.8*exp(x1);x2=5:0.001:10;y2=2847-1.5*exp(0.8*x2);x3=10:0.001:15;y3=2734+150*exp(-0.08*x3);x4=15:0.001:20;y4=2560-156*exp(-0.08*x4);x=[x1,x2,x3,x4];y=[y1,y2,y3,y4];plot(x,y);30002500200015001000500-500-1000-1500(4) 音频信号的读取与播放 [x,Fs,Bits]=wavread( sou nd(x,Fs,Bits) plot(x)-2000 ---------- [-------- [---------- L0 2 4 6 8 10 1214 16 18 20 'C:\Users\Ghb\Desktop\na nsheng.wav'C\Users\Ghb\Desktop\nvshe ng.wav' [x,Fs,Bits]=wavread(sou nd(x,Fs,Bits)plot(x)2. 信号的基本运算(语音信号的翻转、展缩)【研讨内容】1)将原始音频信号在时域上进行延展、压缩,2)将原始音频信号在频域上进行幅度放大与缩小,3)将原始音频信号在时域上进行翻转,【题目分析】用matlab 的wavread 函数读取录制的音频,用length 函数计算出音频文件的长度,最后计算出时间t ,然后用plot 函数输出录制的音频信号(1)延展与压缩分析把时间t 变为原来的一半,信号就被延展为原来的 2 倍,把时间他变为原来的 2 倍,信号就被压缩为原来的一半。

(2)幅度放大与缩小把信号的幅度值变为原来的 2 倍,信号的幅度就被放大了 2 倍,把信号的幅度变为原来的一半,信号就被缩小为原来的一半。

(3)信号的翻转把信号的t 变为变为原来的相反数,就可以实现信号的翻转。

【仿真】(1)读取原始信号fs=44100;bits=32;[x,fs,nbits]=wavread('C:\Users\Ghb\Desktop\nansheng.wav');plot(x);title(' 原始信号') wavplay(x,fs);(2)信号的延展 [x,fs,nbits]=wavread('C:\Users\Ghb\Desktop\nan she ng.wav'); x1=x(1:2:e nd)subplot(2,1,1);plot(x);title(' 原始信号') 3.5 4 4.5 55X 10 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 2.5 0 0.5 1 1.5 -0.8(3)信号的压缩[x,fs, nbits]=wavread('C:\Users\Ghb\Desktop\nan she ng.wav');x2=x(1:0.5:e nd) subplot(2,1,1);plot(x);title(' 原始信号')(4)幅度的放大fs=44100;bits=32;[x,fs,bits]=wavread('C:\Users\Ghb\Desktop\na nshe ng.wav'); x3=2*x(1:1:e nd);wavplay(x3,fs);(5)幅度的缩小 fs=44100;bits=32;[x,fs,bits]=wavread('C:\Users\Ghb\Desktop\na nshe ng.wav'); x4=0.5*x(1:1:e nd);wavplay(x4,fs);2 1 0 -1 -210 5X 10(6)信号的翻转 fs=44100;bits=32;[x,fs,bits]=wavread('C:\Users\Ghb\Desktop\na nshe ng.wav'); x5=flipud(x);wavplay(x5,fs); subplot(2,1,1);plot(x);title('原始信号')0.4 0.2 0 -0.2 -0.45X 10105X 10信号翻转【结果分析】 程序1实现了语音信号的的读取,用于跟后面的变换程序进行对比; (1) 将原始音频信号在时域上进行延展、压缩;程序2实现了语音信号的延展,通过与程序 1对比可以看出,程序2在程 序1的基础上横坐标变为原来的2倍,纵坐标不变,延展了 2倍,程序3与程 序2相反,横坐标变为原来发的的一半,压缩了 2倍; (2) 将原始音频信号在时域上进行幅度放大和缩小;程序4实现了将原来的音频信号幅度变为了原来的 2倍,程序5实现了将 原来的音频信号的幅度变为原来的一半,程序 4和5的横坐标都不变;(3) 将原始信号在时域上进行翻转。

程序6实现了将原本来的音频信号沿x 轴翻转。

由上面的图示可以看出,信号进行 0.5倍压缩和2.0倍延展后,信号的波形10.5 1 1.5 2 2.5 3 3.5 4 4.5-1 L 0分别变得疏散和密集,同时由存储的处理后的信号音频,可以感觉出0.5 倍压缩后的信号的音色变得粗了,而 2.0 倍延展后的信号音频的音色变得尖了。

对0.5 压缩而言,原本应该在X=2 处播放的部分,被放到了X=4 处播放,所以音频听起来变得音色粗了,波形变得疏散了;对 2.0 延展而言,原本在X=2 出播放的部分在X=1 处播放了,因此音频听起来音色变得尖了,波形变得密集了。

对于对信号幅度的 2 倍和0.5 倍的改变,音频上可以听出来音量大小发生了改变。

2 倍变化时,音量变大,0.5 倍时音量变小。

翻转信号时,图示上可以看出图形的翻转变化。

音频上,音乐的播放发生了倒置。

3. 系统响应时域求解【研讨内容】1) 求一个RLC 电路的零输入响应和零状态响应,2) 将原始音频信号中混入噪声,然后用M 点滑动平均系统对受噪声干扰的信号去噪,改变M 点数,比较不同点数下的去噪效果【题目分析】1) RLC 电路如图所示(2)题目要求采用M点滑动平均系统进行去噪。

M点滑动平均系统可以看成是N=0的差分方程。

调用filter函数时,调用参数a-仁1,b为有M个元素的向量, b中每个元素的值为1/M。

即M点的滑动平均系统输入输出关系为:1 M 1y[k] — x[k n],同时我们将噪声设为n,函数为n=rand(n,1);原始信号为s M n 0通过调整M值,观察和比较去噪效果,从而得出结论。

【仿真】(1) L=0.001;C=0.0001;R=100;%a=L*C=0.0000001;b=R*C=0.01;dsolve('0.0000001*D2y+0.01*Dy+y=0','y(0)=10,Dy(0)=0','t') ans =(2490A(1/2)*exp(-t*(1000*2490A(1/2) + 50000))*(2490^(1/2) - 50))/498t=ts:dt:te;Zi=exp(t*(1000*2490A(1/2) - 50000))*((25*2490八(1/2))/249 + 5) + (2490A(1/2)*exp(-t*(1000*2490A(1/2) + 50000))*(2490八(1/2) - 50))/498plot(t,Zi);title('Zi')Zi12100.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1ts=0;te=0.1;dt=0.0001;t=ts:dt:te;exp(t*(1000*2490A(1/2) 50000))*((25*2490^(1/2))/249 + 5)x=10*s in (100*pi*t);Zs=lsim(sys,x,t);plot(t,Zs)(2)R =200;d=ra nd(1,R)-0.5; k=0:R-1;s=k.*(0.9.A k); x=s+d;figure(1);plot(k,d, 'r-.', k,s, 'b--', k,x, 'g-'); xlabel('k'); legend('d[k]', 'x[k]');title('蓝色为原始信号,红色为噪音,绿色为叠加之后的信号')M=1;b=o nes(M,1)/M;a=1;'s[k]',Zs(蓝色为原始信号,红色为叠加之后的信号)')M=5;b=o nes(M,1)/M;a=1;y=filter(b,a,x);figure(3);plot(k,s, 'b--', k,y, 'r-'); xlabel('k');legend('s[k]', 'y[k]');title('M=5 (蓝色为原始信号,红色为叠加之后的信号)')M=10;b=o nes(M,1)/M;a=1;y=filter(b,a,x);figure⑷;plot(k,s, 'b--', k,y, 'r-'); xlabel('k');legend('s[k]', 'y[k]');title('M=10(蓝色为原始信号,红色为叠加之后的信号)')原始信号4 3.53 2.52 1.51 0.50 -0.5蓝色为原始信号,红色为噪音,绿色为叠加之后的信号.I d[k]s[k]x[k]\m AI |.iII 卩Nl ll、'I J I11" IJA fljI1!fl0 20 40 60 80 100 120 140 160 180 200kM=5 (蓝色为原始信号,红色为叠加之后的信号) 4 [c I [ [ [ [ 1 [M=53 5 2 5 1 5 2o o 」o 5 a -3.532.521.510.5-0.50 20 40 60 80 100 120 140 160 180 200k【结果分析】随着M值的增大,噪声干扰信号逐渐变得平滑,且和原信号图形比较接近,说明当M值增加到一定的值时,去噪的效果好。

相关主题