?? 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('除噪聲后信號');
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -