当前位置:文档之家› 信号处理实验报告、

信号处理实验报告、

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

解:(一)蒙特卡洛方法可用于近似计算圆周率:让计算机每次随机生成两个0到1之间的数,看以这两个实数为横纵坐标的点是否在单位圆内。

生成一系列随机点,统计单位圆内的点数与总点数,(圆面积和外切正方形面积之比为π:4),当随机点取得越多时,其结果越接近于圆周率。

代码:N=100000000;x=rand(N,1);y=rand(N,1);count=0;for i=1:Nif (x(i)^2+y(i)^2<=1)count=count+1;endendPI=vpa(4*count/N,10)PI =3.1420384蒙特卡洛法实验结果与试验次数相关,试验次数增加,结果更接近理论值(二)18世纪,法国数学家布丰和勒可莱尔提出的“投针问题”,记载于布丰1777年出版的著作中:“在平面上画有一组间距为d的平行线,将一根长度为l (l<d)的针任意掷在这个平面上,球此针与平行线中任一条相交的频率。

”布丰本人证明了,这个概率是p=2l/(πd) π为圆周率代码: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:1000000PI =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);%画图figure(3);subplot(321);plot(t,x);axis([0 0.5 -0.1 0.1]);title('原始语音信号');xlabel('时间');ylabel('幅值');subplot(322);plot(f,X);axis([0 10000 0 4500]);title('原始语音信号频谱');xlabel('频率');ylabel('幅值'); subplot(323);plot(t,y);axis([0 0.5 -0.1 0.1]);title('加噪后的语音信号');xlabel('时间');ylabel('幅值'); subplot(324);plot(f,Y);axis([0 10000 0 4500]);title('加噪后的语音信号频谱');xlabel('频率');ylabel('幅值'); subplot(325);plot(t,f2);axis([0 0.5 -0.1 0.1]);title('滤波后的语音信号');xlabel('时间');ylabel('幅值'); subplot(326);plot(f,F2);axis([0 10000 0 4500]);title('滤波后的语音信号频谱');xlabel('频率');ylabel('幅值'); 结果:图2.1滤波器的频率响应和相位响应图2.2叠加正弦信号滤波前后的时域图和频域图图2.3加噪的语音信号滤波前后的时域图和频域图第三题(3)编写MATLAB程序,产生协方差函数为的零均值平稳高斯过程,产生一条样本函数.测量所产生样本的时间自相关函数,将结果与理论值比较。

提示:零均值平稳高斯过程的自相关函数解:对于零均值平稳高斯随机过程白噪声的W[n]通过差分方程X[n]-aX[n-1]=bW[n],0<a<1,可产生自相关函数为的随机序列。

记采样周期为Ts。

令w[n]为标准正态分布随机序列,则通过差分方程迭代可以产生一个样本函数。

此题中,取Ts=0.01, sigma=3, a=exp(-0.01), b=sigma*exp(-0.02)代码:N=10000; %长度为10000Ts=0.001; %取样间隔sigma=3; %参数beta=10;a=exp(-beta*Ts);b=sigma*sqrt(1-a*a);w=normrnd(0,1,[1,N]); %标准正态分布随机数x=zeros(1,N);x(1)=sigma*w(1); %产生第一点for i=2:NX(i)=a*x(i-1)+b*w(i); %差分方程与迭代end% plot(x); %可绘制随机序列Rxx=xcorr(x)/N; %实测自相关函数m=[-N+1:N-1]; %校准离散时间坐标,以便绘图Rxx0=(sigma^2)*exp(-beta*abs(m*Ts)); %计算理论自相关函数Plot(m*Ts,Rxx0,’b.’,m*Ts,Rxx,’r’); %绘制与比较自相关函数结果:图3.1样本函数图3.2实测自相关函数与理论值对比结论:实测自相关函数与理论值基本吻合,此方法可以用来模拟高斯随机过程,并得到基本符合理论值的结果。

第四题讨论在的加性高斯白噪声环境中,利用匹配滤波器检测幅度为2,宽度为1ms的方波信号的情况(考虑取样时间为Ts=0.1ms),测量匹配滤波器输入信号中心处与输出信号最佳取样处的SNR,绘出信号波形。

解:记方波信号为s(t),T=1ms。

令匹配滤波器为h=ks(t-T),其中,k使h(t)幅度为1,输出信号的最佳取样在t=T处,由于Ts=0.1ms,仿真宽带B=5kHZ,于是噪声功率为N0B。

代码:N=100; %长度Ts=0.0001; %取样间隔B=0.5*1/Ts; %最高信号频率t=0:Ts:(N-1)*Ts; %仿真时段为N个样点T=0.001; %信号时宽(1ms)A=2; % 信号幅度s=[A*ones(1,T/Ts),zeros(1,N-(T/Ts))]; %宽度为T的方波信号N0=0.00005; %噪声谱密度sigmaN=sqrt(N0*B); %噪声功率=N0*Bw=normrnd(0,sigmaN,[1,N]); %高斯白噪声var(w); %可检测噪声方差hmf=[ones(1,T/Ts)]; %幅度为1的匹配滤镜ys=Ts*filter(hmf,1,s); %信号通过滤波器yn=Ts*filter(hmf,1,w); %噪声通过滤波器SNR0=10*log10((s(T/Ts/2)^2)/var(w)); %输入信号T/2处SNRSNR=10*log10((ys(T/Ts/2)^2)/var(yn));%匹配滤镜后的SNR[SNR0,SNR,SNR-SNR0]plot(t,ys+yn);(绘制输出信号)ans =11.7827 18.3615 6.5788结果:加躁方波滤波输出结论:利用匹配滤波器可以有效地提高抽样点的信噪比。

相关主题