資源簡介
用BP神經網絡做分類器,提取信號的五個特征,并對信號進行識別。

代碼片段和文件信息
clear?all;
close?all;
echo?off;
fc=20000;?%載波頻率
fs=40000;?%采樣速率
k=2;
code_size=15*round(k*fs/fc);?????????????%信息碼元長度
t0=5.5;???????????????????????????????%信號長度
Ns=256;??????????????????????????????%采樣點個數
fd=200;??????????????????????????????%符號速率
ts=1/fs;???????????????????????????????%采樣周期
M=64????????????????????????????????%碼元個數
ti=1/fd;???????????????????????????????%碼元間隔
N=ti/ts
t=[0:ts:t0];
select=menu(‘調制方式‘‘2ASK‘‘2FSK‘‘2PSK‘‘4ASK‘‘4FSK‘‘4PSK‘);
switch?select
case?1????????????????????????????????%?2ASK?signal
x=randint(1M);
m=sin(2*pi*fc*t);
y=ones(1M*N);
for?i=1:M
????for?j=1:N
???????y((i-1)*N+j)=x(i)*m(j);
????end
end
T=zeros(650);
T(11:50)=1;?
case?2?????????????????????????????????%2FSK?signal
x=randint(1M);??
m1=sin(2*pi*fc*t);
m2=sin(2*pi*2*fc*t);
y=zeros(1M*N);
for?i=1:M
???if?x(i)==1;
????for?j=1:N;
????????y((i-1)*N+j)=x(i)*m1(j);
????end
???elseif??x(i)==0;
?????for?j=1:N;
???????y((i-1)*N+j)=(1-x(i))*m2(j);
?????end?
??end
end
T=zeros(650);
T(21:50)=1;?
case?3?????????????????????????????????%2PSK?signal
x=randint(1M);?
m1=sin(2*pi*fc*t);
m2=sin(2*pi*fc*t+pi);
y=zeros(1M*N);
for?i=1:M
???if?x(i)==1;
????for?j=1:N;
????????y((i-1)*N+j)=x(i)*m1(j);
???end
???elseif??x(i)==0;
?????for?j=1:N;
???????y((i-1)*N+j)=(1-x(i))*m2(j);
?????end?
???end
end
T=zeros(650);
T(31:50)=1;
case?4?????????????????????????????????%?4ASK?signal
x=randint(1M4);
m=sin(2*pi*fc*t);
y=ones(1M*N);
for?i=1:M
????if?x(i)==0;
????for?j=1:N
???????y((i-1)*N+j)=x(i)*m(j);
????end
elseif?x(i)==1;
????for?j=1:N
???????y((i-1)*N+j)=x(i)*m(j);
????end
elseif?x(i)==2;
????for?j=1:N
???????y((i-1)*N+j)=x(i)*m(j);
????end
elseif?x(i)==3;
????for?j=1:N
???????y((i-1)*N+j)=x(i)*m(j);
????end??
??end??
end
T=zeros(650);
T(41:50)=1;?
case?5?????????????????????????????????%?4FSK?signal
x=randint(1M4);
m1=sin(2*pi*fc*t);
m2=sin(2*pi*2*fc*t);
m3=sin(2*pi*3*fc*t);
m4=sin(2*pi*4*fc*t);
y=zeros(1M*N);
for?i=1:M
????if?x(i)==0;
????for?j=1:N
???????y((i-1)*N+j)=(1-x(i))*m1(j);
????end
elseif?x(i)==1;
????for?j=1:N
???????y((i-1)*N+j)=x(i)*m2(j);
????end
elseif?x(i)==2;
????for?j=1:N
???????y((i-1)*N+j)=(x(i)-1)*m3(j);
????end
elseif?x(i)==3;
????for?j=1:N
???????y((i-1)*N+j)=(x(i)-2)*m4(j);
????end??
??end??
end
plot(y)
T=zeros(650);
T(51:50)=1;
case?6?????????????????????????????????????%4PSK?signal
x=randint(1M4);
m1=sin(2*pi*fc*t);
m2=sin(2*pi*fc*t+pi/2);
m3=sin(2*pi*fc*t+pi);
m4=sin(2*pi*fc*t+3*pi/2);
y=zeros(1M*N);
for?i=1:M
????if?x(i)==0;
????for?j=1:N
???????y((i-1)*N+j)=(1-x(i))*m1(j);
????end
elseif?x(i)==1;
????for?j=1:N
???????y((i-1)*N+j)=x(i)*m2(j);
????end
elseif?x(i)==2;
????for?j=1:N
???????y((i-1)*N+j)=(x(i)-1)*m3(j);
????end
elseif?x(i)==3;
????for?j=1:N
???????y((i-1)*N+j)=(x(i)-2)*m4(j);
????end??
??end??
end
T=zeros(650);
T(61:50)=1;
end
SNR=5;??????????????????????????
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????7897??2011-05-05?16:04??hao.m
-----------?---------??----------?-----??----
?????????????????7897????????????????????1
- 上一篇:三維-離散點-曲面光滑-擬合
- 下一篇:SOFC Matlab 仿真
評論
共有 條評論