现代数字信号处理仿真作业
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
现代数字信号处理仿真作业
第三章仿真作业3.17
(1)代码
clear;
N=32;
m=[-N+1:N-1];
noise=(randn(1,N)+j*randn(1,N))/sqrt(2); f1=0.15;
f2=0.17;
f3=0.26;
SNR1=30;
SNR2=30;
SNR3=27;
A1=10^(SNR1/20);
A2=10^(SNR2/20);
A3=10^(SNR3/20);
signal1=A1*exp(j*2*pi*f1*(0:N-1));
signal2=A2*exp(j*2*pi*f2*(0:N-1));
signal3=A3*exp(j*2*pi*f3*(0:N-1));
un=signal1+signal2+signal3+noise;
uk=fft(un,2*N);
sk=(1/N) *abs(uk).^2;
r0=ifft(sk);
r1=[r0(N+2:2*N),r0(1:N)];
r=xcorr(un,N-1,'biased');
figure
subplot(2,2,1)
stem(m,real(r1));
xlabel('m');
ylabel('FFT估计r1实部');
subplot(2,2,2)
stem(m,imag(r1));
xlabel('m');
ylabel('FFT估计r1虚部');
subplot(2,2,3)
stem(m,real(r));
xlabel('m');
ylabel('平均估计r实部');
subplot(2,2,4)
stem(m,imag(r));
xlabel('m');
ylabel('平均估计r虚部');
仿真结果
(2)代码 clear; N=256;
noise=(randn(1,N)+j*randn(1,N))/sqrt(2); f1=0.15; f2=0.17; f3=0.26; SNR1=30; SNR2=30; SNR3=27;
A1=10^(SNR1/20); A2=10^(SNR2/20); A3=10^(SNR3/20);
signal1=A1*exp(j*2*pi*f1*(0:N-1)); signal2=A2*exp(j*2*pi*f2*(0:N-1)); signal3=A3*exp(j*2*pi*f3*(0:N-1)); un=signal1+signal2+signal3+noise;
-40
-20
02040-2000
2000
4000
m
F F T 估计r 1实部
-40
-20
02040
-2000
-100001000
2000m
F F T 估计r 1虚部
-40
-20
02040-2000
2000
4000
m
平均估计r 实部
-40
-20
02040
-2000
-1000010002000m
平均估计r 虚部
spr=fftshift((1/NF)*abs(fft(un,NF)).^2);
f1=(0:length(spr)-1)*(1/(length(spr)-1))-0.5;
M=64;
r=xcorr(un,M,'biased');
bt=fftshift(abs(fft(r,NF)));
f2=(0:length(bt)-1)*(1/(length(bt)-1))-0.5;
figure
subplot(1,2,1)
plot(f1,10*log10(spr/max(spr)));
xlabel('w/2pi');
仿真结果
w/2pi w/2pi
(3)
代码
clear;
N=1000;
fai1=rand(1,1)*2*pi;
fai2=rand(1,1)*2*pi;
noise=(randn(1,N)+j*randn(1,N))/sqrt(2);
un=exp(j*0.5*pi*(0:N-1)+j*fai1)+exp(-j*0.3*pi*(0:N-1)+j*fai2)+noise; p=8;
cx=xcorr(un,p,'biased');
rxx=cx(p+1:2*p)';
R=toeplitz(rxx);
[u,s]=eig(R);
ww=[-128:128]/128*pi;
e=exp(-j*ww'*[0:p-1])%k行m列
ev=e*u(:,1:p-2);
pw=1./real(diag(ev*ev'));
plot(ww/(2*pi),10*log10(pw)/max(pw));
仿真结果
-4
-0.5-0.4-0.3-0.2-0.100.10.20.30.40.5
3.20
(1)代码
clear;
N=1000;
fai1=rand(1,1)*2*pi;
fai2=rand(1,1)*2*pi;
noise=(randn(1,N)+j*randn(1,N))/sqrt(2);
un=exp(j*0.5*pi*(0:N-1)+j*fai1)+exp(-j*0.3*pi*(0:N-1)+j*fai2)+noise; p=8;
cx=xcorr(un,p,'biased');
rxx=cx(p+1:2*p)';
R=toeplitz(rxx);
[u,s]=eig(R);
nw=128;