信号处理实验报告、

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第一题

如何用计算机模拟一个随机事件,并估计随机事件发生的概率以计算圆周率π。

解:

(一)蒙特卡洛方法可用于近似计算圆周率:让计算机每次随机生成两个0到1之间的数,看以这两个实数为横纵坐标的点是否在单位圆内。生成一系列随机点,统计单位圆内的点数与总点数,(圆面积和外切正方形面积之比为π:4),当随机点取得越多时,其结果越接近于圆周率。

代码:

N=100000000;

x=rand(N,1);

y=rand(N,1);

count=0;

for i=1:N

if (x(i)^2+y(i)^2<=1)

count=count+1;

end

end

PI=vpa(4*count/N,10)

PI =

3.1420384

蒙特卡洛法实验结果与试验次数相关,试验次数增加,结果更接近理论值

(二)18世纪,法国数学家布丰和勒可莱尔提出的“投针问题”,记载于布丰1777年出版的著作中:“在平面上画有一组间距为d的平行线,将一根长度为l (l

代码:

a=input('输入a:');

l=input('输入l: ');

n=input('输入n:');

x=unifrnd(0,a/2,[n,1]);

f=unifrnd(0,pi,[n,1]);

y=x<0.5*l*sin(f);

m=sum(y); %S = sum(A)

PI=vpa(2*l*n/(a*m))

输入a:5

输入l: 2

输入n:1000000

PI =

3.1383994947176812040368076850427

布冯投针实验结果与针长相关,针越长,实验结果收敛性越好。

第二题

数字滤波器设计,自行设计参数

解:此题分为以下三个小问题:

①设计了一个采样频率为Fs=44100Hz的低通滤波器,通带内频率范围为0--5000Hz,过渡带为5000Hz---6600Hz,通带波纹不大于3dB,阻带衰减不小于40db。绘制出滤波器的特性图。

②利用该低通滤波器对一个4000Hz与8000Hz混叠的正弦信号进行处理,对比滤波前后的信号时域和频域图,验证滤波器效果。

③下载一段语音信号,对其进行采样和加噪,然后用该低通滤波器对加噪后信号进行滤波,绘制出信号的时域波形和频谱,并对滤波前后信号进行对比。

代码:

%第二题

%设计了一个采样频率为Fs=44100Hz的低通滤波器,

%通带内频率范围为0--5000Hz,

%过渡带为5000Hz---6600Hz,

%通带波纹不大于3dB

%阻带衰减不小于40db。

%绘制出滤波器的特性图。

wp=0.23*pi;

ws=0.3*pi;

wdelta=ws-wp;

N=ceil(6.6*pi/wdelta);

wn=(0.23+0.3)*pi/2;

b=fir1(N,wn/pi,hamming(N+1));

figure(1);

freqz(b,1,512);

%利用该低通滤波器对一个4000Hz与8000Hz混叠的正弦信号进行处理,%对比滤波前后的信号时域和频域图,验证滤波器效果。

fs=44100;

f1=4000;

f2=8000;

%滤波前时域

t=0:1/fs:1;

s=sin(2*pi*f1*t)+sin(2*pi*f2*t);

%滤波前频域

Fs=fft(s,1024);

AFs=abs(Fs);

f=(0:511)*fs/1024;

%滤波后时域

sf=filter(b,1,s);

%滤波后频域

Fsf=fft(sf,1024);

AFsf=abs(Fsf);

f=(0:511)*fs/1024;

%画图

figure(2);

subplot(221);plot(t,s);xlabel('时间/秒');ylabel('幅度');

title('信号滤波前时域图');axis([0.001 0.01 -2 2]);

subplot(222);plot(f,AFs(1:512));xlabel('频率/赫兹');ylabel('幅度');

title('信号滤波前频域图');axis([0 10000 0 500]);

subplot(223);plot(t,sf);xlabel('时间/秒');ylabel('幅度');

title('信号滤波后时域图');axis([0.001 0.01 -2 2]);

subplot(224);plot(f,AFsf(1:512));xlabel('频率/赫兹');ylabel('幅度');

title('信号滤波后频域图');axis([0 10000 0 500]);

%下载一段语音信号,对其进行采样和加噪,然后用该低通滤波器对加噪后信号进行滤波,

%绘制出信号的时域波形和频谱,并对滤波前后信号进行对比。

fs=44100;

[x,fs,bits]=wavread('music.wav');

sound(x,fs,bits);

t=0:1/44100:(size(x)-1)/44100;

x=x(:,1);

x=x';

y=x+ 0.03*cos(2*pi*8000*t);%加噪

sound(y,fs,bits);

f2=filter(b,1,y);%通过设计的低通滤波器

sound(f2,fs,bits);

X=abs(fft(x));

X=X(1:length(x)/2);

deltaf=fs/2/length(X);

f=0:deltaf:fs/2-deltaf;

plot(f,X);

Y=abs(fft(y));

Y=Y(1:length(y)/2);

plot(f,Y);

F2=abs(fft(f2));

F2=F2(1:length(f2)/2);

plot(f,F2);

相关文档
最新文档