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

📄 bpsk_cw.m

📁 BPSK调制程序
💻 M
字号:
%BPSK的CW分析
figure(44)
hold on;

clear
df=0.15;
fs=20;%20MHz
fc=2;
rb=0.2;
ts=1/fs;
m=256;%m是码元数,自己随便定义
n=40;%n是每个码元取点数,即对应的正弦波4个周期取多少个点
a=sj(m,n);
%sj(m,n)的解释参见sj.m,sj(m,20)的作用相当于上面的for循环
t=0:1:m*n-1;
Fc1=sin(8*pi*t/n);%码元0发射的载波
Fc2=sin(8*pi*t/n+pi);%码元1发射的载波
b=1-a;
u0=a.*Fc2+b.*Fc1;

for k=1:20   %对应程序结尾的end

%产生白噪声
snr=k;%S/N
snr_lin=10^(snr/10);%线性信噪比
signal_power=(norm(u0)^2)/length(u0);
noise_power=signal_power/snr_lin;
noise_std=sqrt(noise_power);
noise=noise_std*randn(1,length(u0));
u1=u0+noise;%加白噪声
u=u1;

% %求瞬时平方包络
% v=blpf(u);
% %均值
% miu=mean(v);
% %方差
% delt=var(v);
% %求R参数
% r(k)=delt/(miu^2);
% 
% 
% % %信号平方
% % sqrtu=u.*u;
% 
% %求功率谱
% nfft=1024;
% u2=Rx_set(u,nfft);  %这个100是取了100个自相关系数a
% u3=fftshift(abs(fft(u2)));%求功率谱
% ff=-1*fs/2:fs/nfft:fs/2;
% 
% %求AWGN因子
% e1=mean(u3);
% j=0;
%   for i=1:nfft+1
%       if u3(i)>e1
%           j=j+1;
%           ee(j)=u3(i);
%       end
%   end
%  e2=mean(ee);  
%  j=0;
%   for i=1:nfft+1
%       if u3(i)>e2
%           j=j+1;
%           eee(j)=u3(i);
%       end
%   end
% e3=mean(eee); 
% a1(k)=(e2-e1)/e1;
% a2(k)=(e3-e2)/e1;

%求CW因子
%频谱分析
[U,u1,df1]=fftseq(u,ts,df);
U=U*ts;
f=[0:df1:df1*(length(u1)-1)]-fs/2;
absu=abs(U);
max1=max(absu);
max2=0;
for i=1:length(U)
    if absu(i)>max2 & absu(i)<max1
        max2=absu(i);
    end
end
cw(k)=max1/max2;

end  %对应18行的for

i=1:k;
% plot(i,a1,'r+')
% plot(i,a2,'r*')
% plot(i,r,'b.')
plot(i,cw,'g.')
hold off;
xlabel('信噪比(dB)')
title('BPSK CW因子')

⌨️ 快捷键说明

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