www.pudn.com > bpsk_wave.rar > bpsk_wave.m


%BPSK信号的产生 
figure (74); 
clear 
df=0.15; 
fs=20;%20MHz 
fc=2; 
rb=0.2; 
ts=1/fs; 
m=100;%m是码元数,自己随便定义 
n=80;%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=13;%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=u0; 
ls=length(u); 
%信号的一步小波分解 
[cA1,cD1]=dwt(u,'db9'); 
%由小波系数构造一步近似与细节 
A1=upcoef('a',cA1,'db9',1,ls); 
D1=upcoef('d',cD1,'db9',1,ls); 
 
 
%显示一步近似与细节 
 
subplot(2,1,1); 
plot(A1);title('近似A1'); 
subplot(2,1,2); 
stem(abs(D1));title('细节D1'); 
grid 
 
v=abs(D1); 
% %求瞬时平方包络 
% v=blpf(u); 
%均值 
miu=mean(v); 
%方差 
delt=var(v); 
%求R参数 
r=delt/(miu^2) 
 
%求AWGN因子 
e1=mean(v); 
nfft=length(v); 
j=0; 
  for i=1:nfft 
      if v(i)>e1 
          j=j+1; 
          ee(j)=v(i); 
      end 
  end 
 e2=mean(ee);   
 j=0; 
  for i=1:nfft 
      if v(i)>e2 
          j=j+1; 
          eee(j)=v(i); 
      end 
  end 
e3=mean(eee);  
a1=(e2-e1)/e1 
a2=(e3-e2)/e1 
 
% %通过逆小波变换重新构造信号 
% A0=idwt(cA1,cD1,'db4',ls); 
% %信号的多步小波分解 
% [C,L]=wavedec(u,5,'db4'); 
% %提取近似与细节系数 
% cA5=appcoef(C,L,'db4',5); 
% cD5=detcoef(C,L,5); 
% cD4=detcoef(C,L,4); 
% cD3=detcoef(C,L,3); 
% cD2=detcoef(C,L,2); 
% cD1=detcoef(C,L,1); 
% %重构第五层近似和各层细节 
% A5=wrcoef('a',C,L,'db4',5); 
% D5=wrcoef('d',C,L,'db4',5); 
% D4=wrcoef('d',C,L,'db4',4); 
% D3=wrcoef('d',C,L,'db4',3); 
% D2=wrcoef('d',C,L,'db4',2); 
% D1=wrcoef('d',C,L,'db4',1); 
% %显示信号多层分解结果 
% figure (3); 
% subplot(3,2,1);plot(A5);title('近似A5'); 
% subplot(3,2,2);plot(D5);title('近似D5'); 
% subplot(3,2,3);plot(D4);title('近似D4'); 
% subplot(3,2,4);plot(D3);title('近似D3'); 
% subplot(3,2,5);plot(D2);title('近似D2'); 
% subplot(3,2,6);plot(D1);title('近似D1'); 
% %由5层小波分解结构重构原始信号 
% A0=waverec(C,L,'db4'); 
% %显示重构信号与原始信号 
% figure (4); 
% subplot(2,1,1);plot(A0);title('重构信号A0'); 
% subplot(2,1,2);plot(u);title('原始信号'); 
% %信号除噪 
% [thr,sorh,keepapp]=ddencmp('den','wv',u); 
% de_noise=wdencmp('gbl',C,L,'db4',3,thr,sorh,keepapp); 
% figure (5); 
% subplot(2,1,1);plot(u);title('原始信号'); 
% subplot(2,1,2);plot(de_noise);title('除噪声后信号');