⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pingchaguji.asv

📁 个人硕士论文的关于数字接收机调制解调方面的matlab程序
💻 ASV
字号:
%仿真一种全数字化载波频偏估计器%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
close all;
clear all;
clc;
%**********产生信源(16QAM随即信源)*************************%
%**********画频谱和星座图,加噪声****************************%
Kbase=2;
fs=100;
fb=2;
fc=10;
x=randint(1,1000);
%y=qam(x,Kbase,fs,fb,fc);
T=length(x)/fb;   m=fs/fb;   nn=length(x);
dt=1/fs;    t=0:dt:T-dt;
Kbase=rem(Kbase,2);   Kbase=Kbase+(Kbase==0)*2; 
I=x(1:2:nn-1);            [I,In]=two2four(I,4*m);
Q=x(2:2:nn);               [Q,Qn]=two2four(Q,4*m);
I=bshape(I,fs,fb/4);       Q=bshape(Q,fs,fb/4);
y=I.*cos(2*pi*fc*t)-Q.*sin(2*pi*fc*t);
figure(1);
plot(y);
figure(2);
constel(y,fs,fb,fc); xlabel('Constellation');
%********观测有噪声的星座图**********************************%
snr_in_db=10;
snr=10^((snr_in_db)/10);
r=rand(1,50*1000);
w=sqrt(mean(x.^2)/snr)*sqrt(-log(r)/2).*cos(2*pi*r);
z=y+w;
figure(3);
constel(z,fs,fb,fc); xlabel('Constellation');
figure(4);
plot(t,z);
%***********************************************************%
n=length(y);
m=fs/fb;
y1=fft(y)/n;
y2=abs(y1(1:fix(n/2)))*2;
p=find(y2<1e-04);
y2(p)=1e-04;
y3=20*log10(y2);
f1=m/n;
f=0:f1:(length(y3)-1)*f1;
figure(5);
plot(f,y3,'r');   grid on;
title('spectrum');  xlabel('f/fb');  zoom xon;
%******************下面是产生QAM信号的另外一种方法************%
%x=modulator(1,16,10,9,0.01,50,160);
%x=modulator(rb,fc,snr_in_db,k,df,N,L);
%rb 码率;fc 载频; df 频偏;
%N 码元个数,L 每个码字采样数
%k 调制类型  123 2ASK,BPSK,2FSK   456 4ASK,QPSK,4FSK  
%78 8PSK,8FSK 9 16QAM 
%***********************************************************%
disp('I,Q的方差和均值为:');
E_I=mean(I)
I_var=var(I)
E_Q=mean(Q)
Q_var=var(Q)
%******************频偏估计算法*****************************%
delta_w=0.02;
a=I.*cos(delta_w*t)-Q.*sin(delta_w*t);
b=I.*sin(delta_w*t)-Q.*cos(delta_w*t);%低通滤波后的信号
I_delay=zeros(1,50000);
I_delay(2:50000)=I(1:49999);
Q_delay=zeros(1,50000);
Q_delay(2:50000)=Q(1:49999);
Y=I_delay.*


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -