close all
clear all
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%基带信号%%%%%%%%%%%%%%%%%%%%%%%%%%%
f1=100000;%单频信号1
f2=50000;%单频信号2
ft=400000;%采样频率
n=0:1023;%采样点数
in=cos(2*pi*f1/ft*n)+cos(2*pi*f2/ft*n);
qn=sin(2*pi*f1/ft*n)+sin(2*pi*f2/ft*n);
figure,
freqz(in+1i*qn,1,length(n),'whole',ft);
title('Frequency spectrum of the baseband signal');
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%插值%%%%%%%%%%%%%%%%%%%%%%%%%%%%
ncz=length(n)*64;
incz=zeros(1,ncz);
qncz=zeros(1,ncz);
for i=1:ncz
if mod(i-1,64)==0
incz(i)=in((i-1)/64+1);
qncz(i)=qn((i-1)/64+1);
end
end
figure,
freqz(incz+1i*qncz,1,length(n)*64,'whole',25.6*10^6);
title('Frequency spectrum after 64-interpolation');
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%滤波%%%%%%%%%%%%%%%%%%%%%%%%%%%%
fp=100000;%通带截止频率
fs=300000;%阻带截止频率
ftcz=25.6*10^6;%采样频率
[Or,Wn,beta,ftype] = kaiserord([fp,fs],[1,0],[0.01,0.01],ftcz);
b=fir1(Or,Wn,ftype,kaiser(Or+1,beta),'noscale');
inczf=filter(b,1,incz);
qnczf=filter(b,1,qncz);
figure,
freqz(inczf+1i*qnczf,1,length(n)*64,'whole',25.6*10^6);
title('Frequency spectrum after filtering');
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%上变频%%%%%%%%%%%%%%%%%%%%%%%%%%%%
fc=10*10^6;
induc=inczf.*cos(2*pi*fc/ftcz*(0:ncz-1));
qnduc=qnczf.*sin(2*pi*fc/ftcz*(0:ncz-1));
x=induc+qnduc;
figure,
freqz(x,1,length(n)*64,'whole',25.6*10^6);
title('Frequency spectrum after duc');
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%加噪声%%%%%%%%%%%%%%%%%%%%%%%%%%%%
snr=15;
s=awgn(x,snr,'measured');
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%下变频%%%%%%%%%%%%%%%%%%%%%%%%%%%%
inddc=s.*cos(2*pi*fc/ftcz*(0:ncz-1));
qnddc=s.*sin(2*pi*fc/ftcz*(0:ncz-1));
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%滤波%%%%%%%%%%%%%%%%%%%%%%%%%%%%
inddcf=filter(b,1,inddc);
qnddcf=filter(b,1,qnddc);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%抽取%%%%%%%%%%%%%%%%%%%%%%%%%%%%
incq=zeros(1,1024);
qncq=zeros(1,1024);
for i=1:ncz
if mod(i-1,64)==0
incq((i-1)/64+1)=inddcf(i);
qncq((i-1)/64+1)=qnddcf(i);
end
end
r=incq+1i*qncq;
figure,
freqz(r,1,length(n),'whole',ft);
title('Frequency spectrum after ddc')
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%MVDR%%%%%%%%%%%%%%%%%%%%%%%%%%%%
N=512;%计算R的数据量
M=6;%滤波器阶数
R=zeros(M,M);
for i=1:N
R=R+((r(i:i+M-1)).')*conj(r(i:i+M-1));
end
R=R/N;
a_w=exp(-1i*2*pi*f1/ft*(0:M-1))';
w_mvdr=(R\a_w)/(a_w'*(R\a_w));
y=zeros(1,length(n));
for i=1:(length(n)-M)
y(i)=w_mvdr'*(r(i:i+M-1).');
end
figure,
freqz(y,1,length(n),'whole',ft);
title('Frequency spectrum after MVDR');
- 1
- 2
前往页