• 大小: 4KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-05-23
  • 语言: Matlab
  • 标签: MATLAB  DDC  

资源简介

用matlab编写的一个数字下变频程序,可供参考

资源截图

代码片段和文件信息

x=randint(151) 
Fc=7000; %fft要符合奈奎斯特低通采样定理
Fd=128; 
Fs=65536; 
[yT]= dmod(xFcFdFs‘ASK‘4); %dmod数字通带调制amod模拟调制ask幅度键控调制[yt]=amod(xFcFs‘amdsb-tc‘);%
len=length(y); %y=7680
 
%%pause   % Press any key to see plot  after sampling 
subplot(211); 
plot(y)  
xlabel(‘points‘); 
title(‘sampling time domain signal‘); 
subplot(212); 
fft_y=fft(y4069); %?

am_y1=abs(fft_y);  
f = Fs*(0:2048)/4096; %?
plot(fam_y1(1:2049)) 
title(‘sampling frequency domain signal‘); 
xlabel(‘Frequency‘); 
figure(7);
plot(abs(fft_y))
 
len=length(y); 
std_val=0.2; 
n=std_val*randn(len1); 
y=y+n; 
z=y; 
 
%%pause %see plot after adding nosie
figure(2);
subplot(211); 
plot(z) 
xlabel(‘points‘); 
title(‘adding noise time domain signal‘); 
subplot(212); 
fft_z=fft(z4096); 
am_z=abs(fft_z); 
f = Fs*(0:2048)/4096; 
plot(fam_z(1:2049)) 
title(‘adding noise frequency domain signal‘); 
xlabel(‘Frequency‘); 
 
int_z=zeros(len1); 
for i=1:len 
    int_z(i)=int16(y(i)*32768); %没有添加噪声直接变换
end;  
figure(8);
plot(int_z) 
nco_freq=Fc-Fs; 
ad_freq=Fs; 
len=length(y); 
nco=zeros(len1); 
nco_out=zeros(len1); 
for i=1:len 
    nco(i)=cos(nco_freq*2*pi*i/ad_freq); %软件无线电书本p75-p76页
    nco_out(i)=nco(i)*int_z(i); 
end; 
 
%%pause %see plot after mixing 
figure(3);
subplot(211); 
plot(nco_out) 
xlabel(‘points‘); 
title(‘mixing time domain signal‘); 
subplot(212); 
fft_nco=fft(nco_out4096); 
am_nco=abs(fft_nco); 
f = Fs*(0:2048)/4096; 
plot(fam_nco(1:2049)) 
title(‘mixing frequency domain signal‘); 
xlabel(‘Frequency‘); %ok
 
m1=16; 
D1=4; 
cic_mid1=zeros(len1); %len=7680
cic_out1=zeros(len/D11); 
cic_mid2=zeros(len/D1*D11); 
cic_mid3=zeros(len/D1*D1*D11); 
cic_mid4=zeros(len/D1*D1*D1*D11); 
cic_mid5=zeros(len/D1*D1*D1*D1*D11); 
 
for i=m1:len 
    for j=1:m1 
        cic_mid1(i)=cic_mid1(i)+nco_out(i-j+1); 
        cic_mid2(i)=cic_mid2(i)+cic_mid1(i-j+1); 
        cic_mid3(i)=cic_mid3(i)+cic_mid2(i-j+1); 
        cic_mid4(i)=cic_mid4(i)+cic_mid3(i-j+1); 
        cic_mid5(i)=cic_mid5(i)+cic_mid4(i-j+1); 
  

评论

共有 条评论