資源簡介
此系統是對跳頻擴頻系統所作的MATLAB仿真,取得了良好的效果.可作為畢業設計和教學使用

代碼片段和文件信息
clc;
clear?all;
N=8;
begin=0;
?picture=[0?1?0?1?0?0?1?1?0?1?1?1?0?0?0?1?0?1?1?0?1?0?0?1?0];?????????
if?begin==0???????????????????????????????????????????????????????
????temp=25*rand;
????begin=floor(temp)+1;
????if?(begin<19)
????????n=picture(begin:begin+7);
????else
??????n=[picture(begin:25)picture(1:begin-18)];
????end
else??????????????????????????????????????????????????????????
????begin=begin+1;
????if?begin==26
????????begin=1;
????end
????if?(begin<19)
????????n=picture(begin:begin+7);
????else
??????n=[picture(begin:25)picture(1:begin-18)];
????end
end
PN=n;
%PN=[0?1?2?3?0?1?2?3];
b=PN;
z=zeros(N101);
%信息碼元
figuresubplot(211)
for?i=1:8
????if(b(i)==0)
????????m=zeros(1101);
????????t=i-1:0.01:i;
????????plot(tm)
????????hold?on;
????else
????????m=b(i)*ones(1101);
????????t=i-1:0.01:i;
????????plot(tm)
????????hold?on;
????end;???
end;
xlabel(‘信息碼元‘);
axis([0?8?-2?2]);
grid?on;
hold?off;
%----------------------------------------------------
??%FSK調制
?b=PN;
subplot(212)
for?i=1:8
????if(b(i)==0)
????????m=zeros(1101);
????????t=i-1:0.01:i;?
????????y=sin(t.*(2)*pi);
????????plot(ty);
????????hold?on;
????else
????????m=b(i)*ones(1101);
????????t=i-1:0.01:i;
?????????y=sin(t.*(2+4*m)*pi);
????????plot(ty);
????????hold?on;
????end;
???%y=sin(t.*(2+2*m)*pi);?
???z(i:)=y;
??%?plot(ty);???
end;
xlabel(‘FSK調制‘);
axis([0?8?-2?2]);
grid?on;
hold?off;
y1=z;
yfsk=[];
for?i=1:8
????yfsk=[yfsky1(i1:100)];
end
figure??
yfsk=[yfsk0];
lnx=length(yfsk);
nfft=lnx+1;
f?=?lnx*(0:nfft/2)/nfft;
%freq=-pi:2*pi/(lnx-1):pi;%?the?frequency?vector頻率向量,長度為num
X=fft(yfsknfft);
%plot(freq/pi?abs(X));ylabel(‘|X|‘);axis([0?pi/pi?min(abs(X))?max(abs(X))]);
plot(fabs(X(1:nfft/2+1)));
title(‘FSK信號頻譜圖‘);
N=8;
?picture=[0?1?2?3?0?1?2?3?0?1?2?3?0?1?2?3?0?1?2?3?0?1?2?3?0];??????????%跳頻圖案
if?begin==0???????????????????????????????????????????%判斷是否是跳頻開始時刻
????temp=25*rand;
????begin=floor(temp)+1;
????if?(begin<19)
????????n=picture(begin:begin+7);
????else
??????n=[picture(begin:25)picture(1:begin-18)];
????end
else?????????????????????????????????????????????????????%按跳頻圖案順序跳變
????begin=begin+1;
????if?begin==26
????????begin=1;
????end
????if?(begin<19)
????????n=picture(begin:begin+7);
????else
??????n=[picture(begin:25)picture(1:begin-18)];
????end??
end
PN=n;
%PN=[0?1?2?3?0?1?2?3];
b=PN;
z=zeros(N101);
%----------------------------------------------------
??%畫PN碼的數字直觀圖
%axes(e1);
figuresubplot(211)
for?i=1:8
????if(b(i)==0)
????????m=zeros(1101);
????????t=i-1:0.01:i;
????????plot(tm)
????????hold?on;
????else
????????m=b(i)*ones(1101);
????????t=i-1:0.01:i;
????????plot(tm)
????????hold?on;
????end;
end;
xlabel(‘跳頻碼‘);
axis([0?8?-0.2?6.2]);
grid?on;
hold?off;
%---------------------------------------------------------
???%畫頻率合成后的圖
subplot(212)
for?i=1:N??
a=b(i);
%為頻率合成部分
if(a==0)
????m
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????9639??2008-01-03?14:29??fhss.m
-----------?---------??----------?-----??----
?????????????????9639????????????????????1
- 上一篇:LS信道估計的仿真
- 下一篇:含風電場的電力系統潮流程序matlab
評論
共有 條評論