資源簡(jiǎn)介
用BP神經(jīng)網(wǎng)絡(luò)做分類(lèi)器,提取信號(hào)的五個(gè)特征,并對(duì)信號(hào)進(jìn)行識(shí)別。

代碼片段和文件信息
clear?all;
close?all;
echo?off;
fc=20000;?%載波頻率
fs=40000;?%采樣速率
k=2;
code_size=15*round(k*fs/fc);?????????????%信息碼元長(zhǎng)度
t0=5.5;???????????????????????????????%信號(hào)長(zhǎng)度
Ns=256;??????????????????????????????%采樣點(diǎn)個(gè)數(shù)
fd=200;??????????????????????????????%符號(hào)速率
ts=1/fs;???????????????????????????????%采樣周期
M=64????????????????????????????????%碼元個(gè)數(shù)
ti=1/fd;???????????????????????????????%碼元間隔
N=ti/ts
t=[0:ts:t0];
select=menu(‘調(diào)制方式‘‘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;??????????????????????????
?屬性????????????大小?????日期????時(shí)間???名稱(chēng)
-----------?---------??----------?-----??----
?????文件???????7897??2011-05-05?16:04??hao.m
-----------?---------??----------?-----??----
?????????????????7897????????????????????1
- 上一篇:三維-離散點(diǎn)-曲面光滑-擬合
- 下一篇:SOFC Matlab 仿真
評(píng)論
共有 條評(píng)論