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

上传人:b****1 文档编号:14470533 上传时间:2023-06-23 格式:DOCX 页数:76 大小:682.62KB
下载 相关 举报
北京交通大学《信号与系统》专题研究性学习实验报告.docx_第1页
第1页 / 共76页
北京交通大学《信号与系统》专题研究性学习实验报告.docx_第2页
第2页 / 共76页
北京交通大学《信号与系统》专题研究性学习实验报告.docx_第3页
第3页 / 共76页
北京交通大学《信号与系统》专题研究性学习实验报告.docx_第4页
第4页 / 共76页
北京交通大学《信号与系统》专题研究性学习实验报告.docx_第5页
第5页 / 共76页
北京交通大学《信号与系统》专题研究性学习实验报告.docx_第6页
第6页 / 共76页
北京交通大学《信号与系统》专题研究性学习实验报告.docx_第7页
第7页 / 共76页
北京交通大学《信号与系统》专题研究性学习实验报告.docx_第8页
第8页 / 共76页
北京交通大学《信号与系统》专题研究性学习实验报告.docx_第9页
第9页 / 共76页
北京交通大学《信号与系统》专题研究性学习实验报告.docx_第10页
第10页 / 共76页
北京交通大学《信号与系统》专题研究性学习实验报告.docx_第11页
第11页 / 共76页
北京交通大学《信号与系统》专题研究性学习实验报告.docx_第12页
第12页 / 共76页
北京交通大学《信号与系统》专题研究性学习实验报告.docx_第13页
第13页 / 共76页
北京交通大学《信号与系统》专题研究性学习实验报告.docx_第14页
第14页 / 共76页
北京交通大学《信号与系统》专题研究性学习实验报告.docx_第15页
第15页 / 共76页
北京交通大学《信号与系统》专题研究性学习实验报告.docx_第16页
第16页 / 共76页
北京交通大学《信号与系统》专题研究性学习实验报告.docx_第17页
第17页 / 共76页
北京交通大学《信号与系统》专题研究性学习实验报告.docx_第18页
第18页 / 共76页
北京交通大学《信号与系统》专题研究性学习实验报告.docx_第19页
第19页 / 共76页
北京交通大学《信号与系统》专题研究性学习实验报告.docx_第20页
第20页 / 共76页
亲,该文档总共76页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

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

《北京交通大学《信号与系统》专题研究性学习实验报告.docx》由会员分享,可在线阅读,更多相关《北京交通大学《信号与系统》专题研究性学习实验报告.docx(76页珍藏版)》请在冰点文库上搜索。

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

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

《信号与系统》课程研究性学习手册

 

专题一信号时域分析

1.基本信号的产生,语音的读取与播放

【研讨内容】

1)生成一个正弦信号,改变正弦信号的角频率和初始相位,观察波形变化;

2)生成一个幅度为1、基频为2Hz、占空比为50%的周期方波,

3)观察一定时期内的股票上证指数变化,生成模拟其变化的指数信号,

4)录制一段音频信号,进行音频信号的读取与播放

【题目分析】

(1)正弦信号的形式为Acos(ω0t+ψ)或Asin(ω0t+ψ),分别用MATLAB的内部函数cos和sin表示,其调用形式为

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

(2)幅度为1,则方波振幅为0.5,基频w0=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;

xt1=A*sin(w0*t+phi);

plot(t,xt1)

title('xt1=sin(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;

xt1=A*sin(w1*t+phi);

xt2=A*sin(w2*t+phi);

plot(t,xt1,t,xt2)

正弦信号3(改变1中相位)

A=1;w=1/4*pi;phi1=pi/16;phi2=pi/4;

t=-8:

0.001:

8;

xt1=A*sin(w*t+phi1);

xt3=A*sin(w*t+phi2)

plot(t,xt1,t,xt3)

 

(2)方波信号

t=-100:

0.01:

100;

T=0.5;

f=1/T;

y=square(2*pi*f*t,50);

plot(t,y);

axis([-22-33]);

(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);

(4)音频信号的读取与播放

[x,Fs,Bits]=wavread('C:

\Users\Ghb\Desktop\nansheng.wav')

sound(x,Fs,Bits)

plot(x)

[x,Fs,Bits]=wavread('C:

\Users\Ghb\Desktop\nvsheng.wav')

sound(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\nansheng.wav');

x1=x(1:

2:

end)

subplot(2,1,1);plot(x);title('原始信号')

subplot(2,1,2);plot(x1);title('延展')

wavplay(x1,fs);

(3)信号的压缩

[x,fs,nbits]=wavread('C:

\Users\Ghb\Desktop\nansheng.wav');

x2=x(1:

0.5:

end)

subplot(2,1,1);plot(x);title('原始信号')

subplot(2,1,2);plot(x2);title('压缩')

wavplay(x2,fs);

(4)幅度的放大

fs=44100;bits=32;

[x,fs,bits]=wavread('C:

\Users\Ghb\Desktop\nansheng.wav');

x3=2*x(1:

1:

end);wavplay(x3,fs);

subplot(2,1,1);plot(x);title('原始信号')

subplot(2,1,2);plot(x3);title('幅度变大')

(5)幅度的缩小

fs=44100;bits=32;

[x,fs,bits]=wavread('C:

\Users\Ghb\Desktop\nansheng.wav');

x4=0.5*x(1:

1:

end);wavplay(x4,fs);

subplot(2,1,1);plot(x);title('原始信号')

subplot(2,1,2);plot(x4);title('幅度变小')

(6)信号的翻转

fs=44100;bits=32;

[x,fs,bits]=wavread('C:

\Users\Ghb\Desktop\nansheng.wav');

x5=flipud(x);wavplay(x5,fs);

subplot(2,1,1);plot(x);title('原始信号')

subplot(2,1,2);plot(x5);title('信号翻转')

【结果分析】

程序1实现了语音信号的的读取,用于跟后面的变换程序进行对比;

(1)将原始音频信号在时域上进行延展、压缩;

程序2实现了语音信号的延展,通过与程序1对比可以看出,程序2在程序1的基础上横坐标变为原来的2倍,纵坐标不变,延展了2倍,程序3与程序2相反,横坐标变为原来发的的一半,压缩了2倍;

(2)将原始音频信号在时域上进行幅度放大和缩小;

程序4实现了将原来的音频信号幅度变为了原来的2倍,程序5实现了将原来的音频信号的幅度变为原来的一半,程序4和5的横坐标都不变;

(3)将原始信号在时域上进行翻转。

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

由上面的图示可以看出,信号进行0.5倍压缩和2.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电路如图所示

为简单起见,取R=100ohm,L=1mH,C=100uF,U=10V,f=50Hz

(2)题目要求采用M点滑动平均系统进行去噪。

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

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

即M点的滑动平均系统输入输出关系为:

,同时我们将噪声设为n,函数为n=rand(n,1);原始信号为s。

通过调整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=

exp(t*(1000*2490^(1/2)-50000))*((25*2490^(1/2))/249+5)+(2490^(1/2)*exp(-t*(1000*2490^(1/2)+50000))*(2490^(1/2)-50))/498

t=ts:

dt:

te;

Zi=exp(t*(1000*2490^(1/2)-50000))*((25*2490^(1/2))/249+5)+(2490^(1/2)*exp(-t*(1000*2490^(1/2)+50000))*(2490^(1/2)-50))/498

plot(t,Zi);title('Zi')

ts=0;te=0.1;dt=0.0001;

sys=tf([1],[0.00000010.011]);

t=ts:

dt:

te;

x=10*sin(100*pi*t);

Zs=lsim(sys,x,t);

plot(t,Zs)

(2)

R=200;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-');xlabel('k');legend('d[k]','s[k]','x[k]');title('蓝色为原始信号,红色为噪音,绿色为叠加之后的信号')

M=1;b=ones(M,1)/M;a=1;

y=filter(b,a,x);

figure

(2);plot(k,s,'b--',k,y,'r-');xlabel('k');legend('s[k]','y[k]');title('M=1(蓝色为原始信号,红色为叠加之后的信号)')

M=5;b=ones(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=ones(M,1)/M;a=1;

y=filter(b,a,x);

figure(4);plot(k,s,'b--',k,y,'r-');xlabel('k');legend('s[k]','y[k]');title('M=10(蓝色为原始信号,红色为叠加之后的信号)')

原始信号

M=1

M=5

M=10

【结果分析】

随着M值的增大,噪声干扰信号逐渐变得平滑,且和原信号图形比较接近,说明当M值增加到一定的值时,去噪的效果好。

同时会使原始信号失真比较大

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);

(b)用不同的抽样间隔进行卷积运算

【仿真】

(a)

h(t)=x(t)x(t)=u(t)*u(t)+u(t-1)*u(t-1)+2u(t)*u(t-1)=r(t)-2r(t-1)+r(t-2)

则y(t)=x(t)*h(t)=

(b)

当T=0.1时

T=0.1;

k=-1:

T:

4;

f1=1*((k>=0)&(k<=1));

f2=tripuls(k-1,2);

y=conv(f1,f2)*T;

tmin=-2;tmax=8;

t1=tmin:

T:

tmax;

plot(t1,y);title('T=0.1')

当T=0.01时

T=0.01;

k=-1:

T:

4;

f1=1*((k>=0)&(k<=1));

f2=tripuls(k-1,2);

y=conv(f1,f2)*T;

tmin=-2;tmax=8;

t2=tmin:

T:

tmax;

plot(t2,y);title('T=0.01')

当T=0.001时

T=0.001;

k=-1:

T:

4;

f1=1*((k>=0)&(k<=1));

f2=tripuls(k-1,2);

y=conv(f1,f2)*T;

tmin=-2;tmax=8;

t3=tmin:

T:

tmax;

plot(t3,y);title('T=0.001')

 

专题二信号频域分析

1.分析男女生信号的频谱

【研讨内容】

(1)采集wav格式的男女生语音信号。

(2)对所采集的语音信号进行频谱分析

【仿真】

[x,Fs1,Bits]=wavread('C:

\Users\Ghb\Desktop\nansheng.wav')

X=length(x);

T=10;

k1=T/(X-1);

k2=0:

X-1;

k=0:

k1:

T;

subplot(2,2,1);

plot(k,x)

title('男声,times')

Fx=fft(x,X);

omega1=2*pi/X*k2;

subplot(2,2,2);

plot(omega,abs(Fx));

title('男声,omega')

wavplay(x,Fs1)

[y,Fs2,Bits]=wavread('C:

\Users\Ghb\Desktop\nvsheng.wav')

Y=length(y);

T=10;

t1=T/(Y-1);

t2=0:

Y-1;

t=0:

t1:

T;

subplot(2,2,3);

plot(t,y)

title('女声,times')

Fy=fft(y,Y);

omega2=2*pi/Y*t2;

subplot(2,2,4);

plot(omega2,abs(Fy));

title('女声,omega')

wavplay(y,Fs2)

2.信号的抽样

【题目分析】

频率为f0Hz的正弦信号可表示为

按抽样频率fsam=1/T对x(t)抽样可得离散正弦序列x[k]

在下面的实验中,取抽样频率fsam=8kHz。

(1)对频率为2kHz,2.2kHz,2.4kHz和2.6kHz正弦信号抽样1秒钟,利用MATLAB函数sound(x,fsam)播放这四个不同频率的正弦信号。

(2)对频率为5.4kHz,5.6kHz,5.8kHz和6.0kHz正弦信号抽样1秒钟,利用MATLAB函数sound(x,fsam)播放这四个不同频率的正弦信号。

(3)比较

(1)和

(2)的实验结果,解释所出现的现象。

【仿真】

F0=2000Hz

k=0:

1:

8000;

f0=2000;

fs=8000;

x=sin(2*pi*f0/fs*k);

sound(x,fs);

subplot(2,1,1)

stem(k,x);title('f0=2000Hz,离散图')

axis([020-11])

subplot(2,1,2)

plot(k,x);title('f0=2000Hz,连续图')

axis([020-11])

F0=2200Hz

k=0:

1:

8000;

f0=2200;

fs=8000;

x=sin(2*pi*f0/fs*k);

sound(x,fs);

subplot(2,1,1)

stem(k,x);title('f0=2200Hz,离散图')

axis([020-11])

subplot(2,1,2)

plot(k,x);title('f0=2200Hz,连续图')

axis([020-11])

F0=2400Hz

k=0:

1:

8000;

f0=2400;

fs=8000;

x=sin(2*pi*f0/fs*k);

sound(x,fs);

subplot(2,1,1)

stem(k,x);title('f0=2400Hz,离散图')

axis([020-11])

subplot(2,1,2)

plot(k,x);title('f0=2400Hz,连续图')

axis([020-11])

F0=2600Hz

k=0:

1:

8000;

f0=2600;

fs=8000;

x=sin(2*pi*f0/fs*k);

sound(x,fs);

subplot(2,1,1)

stem(k,x);title('f0=2600Hz,离散图')

axis([020-11])

subplot(2,1,2)

plot(k,x);title('f0=2600Hz,连续图')

axis([020-11])

F0=5400Hz

k=0:

1:

8000;

f0=5400;

fs=8000;

x=sin(2*pi*f0/fs*k);

sound(x,fs);

subplot(2,1,1)

stem(k,x);title('f0=5400Hz,离散图')

axis([020-11])

subplot(2,1,2)

plot(k,x);title('f0=5400Hz,连续图')

axis([020-11])

F0=5600Hz

k=0:

1:

8000;

f0=5600;

fs=8000;

x=sin(2*pi*f0/fs*k);

sound(x,fs);

subplot(2,1,1)

stem(k,x);title('f0=5600Hz,离散图')

axis([020-11])

subplot(2,1,2)

plot(k,x);title('f0=5600Hz,连续图')

axis([020-11])

F0=5800Hz

k=0:

1:

8000;

f0=5800;

fs=8000;

x=sin(2*pi*f0/fs*k);

sound(x,fs);

subplot(2,1,1)

stem(k,x);title('f0=5800Hz,离散图')

axis([020-11])

subplot(2,1,2)

plot(k,x);title('f0=5800Hz,连续图')

axis([020-11])

F0=6000Hz

k=0:

1:

8000;

f0=6000;

fs=8000;

x=sin(2*pi*f0/fs*k);

sound(x,fs);

subplot(2,1,1)

stem(k,x);title('f0=6000Hz,离散图')

axis([020-11])

subplot(212)

plot(k,x);title('f0=6000Hz,连续图')

axis([020-11])

F0=7200Hz

k=0:

1:

8000;

f0=7200;

fs=8000;

x=sin(2*pi*f0/fs*k);

sound(x,fs);

subplot(2,1,1)

stem(k,x);title('f0=7200Hz,离散图')

axis([020-11])

subplot(212)

plot(k,x);title('f0=7200Hz,连续图')

axis([020-11])

F0=7400Hz

k=0:

1:

8000;

f0=7400;

fs=8000;

x=sin(2*pi*f0/fs*k);

sound(x,fs);

subplot(2,1,1)

stem(k,x);title('f0=7400Hz,离散图')

axis([020-11])

subplot(212)

plot(k,x);title('f0=7400Hz,连续图')

axis([020-11])

F0=7600Hz

k=0:

1:

8000;

f0=7600;

fs=8000;

x=sin(2*pi*f0/fs*k);

sound(x,fs);

subplot(2,1,1)

stem(k,x);title('f0=7600Hz,离散图')

axis([020-11])

subplot(212)

plot(k,x);title('f0=7600Hz,连续图')

axis([020-11])

F0=7800Hz

k=0:

1:

8000;

f0=7800;

fs=8000;

x=sin(2*pi*f0/fs*k);

sound(x,fs);

subplot(2,1,1)

stem(k,x);title('f0=7800Hz,离散图')

axis([020-11])

subplot(212)

plot(k,x);title('f0=7800Hz,连续图')

axis([020-11])

【结果分析】

(1)高频抽样的信号图像较低频抽样的信号图像更吻合原信号图像。

(2)当频率大于2000Hz时,频率越高正弦信号的声音频率越高,声音尖、高;当F0大于7000Hz时,信号频率越高正弦信号的声音频率越低,声音混、厚。

(3)当频率为7800Hz时,听不到声音

3.连续时间信号Fourier变换的数值近似运算

【题目分析】

计算连续信号频谱是对信号和系统进行频域分析的基础,由于实际信号大多无简单的解析表达式,所以要用数值方法进行近似计算。

本题要求对频谱近似计算中误差的原因进行初步的分析,希望能在计算实际信号频谱的近似计算中起一定的指导作用。

若信号x(t)的非零值在

区间,则可用下面提供的函数ctft1或ctft2近似计算其频谱。

函数ctft的调用形式为

[X,f]=ctft1(x,fsam,N)

[X,f]=ctft2(x,fsam,N)

其中调用变量x存放信号x(t)的抽样值,fsam表示对连续信号x(t)的

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 外语学习 > 韩语学习

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2