云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 通信原理matlab课程设计报告-matlab课程设计报告

通信原理matlab课程设计报告-matlab课程设计报告

  • 62 次阅读
  • 3 次下载
  • 2025/5/1 4:33:11

for i=1:9 %2pSK编码 if a(i)==0

for k=1:50 %如果二进制原码为0则输出f1波形 out(k+50*(i-1))=f1(k); end else

for j=1:50

out(j+50*(i-1))=f2(j); %r如果二进制原码为1则输出f2波形 end end end

for i=1:9 %2PSK解码 n=0;m=0; for j=1:50

if out(j+50*(i-1))-f1(j)==0 n=n+1;

else if out(j+50*(i-1))-f2(j)==0 m=m+1; end end end if n>m

b(i)=0; else b(i)=1; end end b

for i=1:9 %画出解码后的波形 ,包括原码和解码出的码,进行对比 for j=1+50*(i-1):50*i f(j)=a(i); g(j)=b(i); end end

figure(2);

subplot(3,1,1),plot(t,f),axis([0 9*pi -0.2 1.2]),xlabel('t'),ylabel('数字基带调制原码');

subplot(3,1,2),plot(t,out),axis([0 9*pi -1.2 1.2]),xlabel('t'),ylabel('调制好的波形');

subplot(3,1,3),plot(t,g),axis([0 9*pi -0.2 1.2]),xlabel('t'),ylabel('解码得到的码');

[Num,Rat]=biterr(f,g)

case 3,scolor='2FSK';

%==生成随机码元、基带信号、调制================%

9

n=8;%随机码元个数

N=100;%模拟一个码元的点数 K=4;%figure1画四个小图 a=randint(1,n)%码元生成

bita=[];%定义空数组,存放基带信号 for i=1:length(a) if a(i)==0

bit1=zeros(1,N); else

bit1=ones(1,N); end

bita=[bita,bit1];%基带信号 end

figure(1);

subplot(K,1,1);plot(bita,'LineWidth',1.5),title('基带信号'),grid on;axis([0,N*length(a),-2.5,2.5]);

bitRate=1e3;%每一个码元中采样点的间隔宽度0.001s fc=1e3;%载频1KHZ

t=linspace(0,1/bitRate,N); tz=[];

c1=sin(2*pi*t*fc);%载波 c2=sin(2*pi*t*fc*2);%载波 for i=1:length(a) if a(i)==1 tz=[tz,c1]; else

tz=[tz,c2]; end end

subplot(K,1,2);plot(tz,'LineWidth',1.5);title('2FSK已调信号');grid on;

signal=awgn(tz,20,'measured');%加噪

subplot(K,1,3);plot(signal,'LineWidth',1.5),grid on;title('信号+噪声')

%===========解调============% Fs=5e3;%采样频率

[b1,a1]=ellip(4,0.1,40,[999.9,1000.1]*2/Fs);%设计IIR带通滤波器,阶数为4,通带纹波0.1,阻带衰减40DB

[b2,a2]=ellip(4,0.1,40,[1999.9,2000.1]*2/Fs); sa=filter(b1,a1,signal);%信号通过该滤波器 sb=filter(b2,a2,signal); figure(2);

K1=3;%figure2画(3*2)幅图表示解调过程

10

subplot(K1,2,1);plot(sa,'LineWidth',1.5),grid on;title('BPF') subplot(K1,2,2);plot(sb,'LineWidth',1.5),grid on;title('BPF') %======相乘器=============% t=linspace(0,1/bitRate,N); c1=sin(2*pi*t*fc); c2=sin(2*pi*t*fc*2); sia=[]; sib=[];

for i=1:n

sia=[sia,c1]; sib=[sib,c2]; end

siga=sa.*sia;%乘同频同相sia sigb=sb.*sib;%乘同频同相sib

subplot(K1,2,3);plot(siga,'LineWidth',1.5),grid on;title('相乘器'); subplot(K1,2,4);plot(sigb,'LineWidth',1.5),grid on;title('相乘器'); %========LPF================% Fs=5e3;%抽样频率400HZ

[b1,a1]=ellip(4,0.1,40,[50]*2/Fs);%设计IIR低通滤波器 [b2,a2]=ellip(4,0.1,40,[50]*2/Fs);%设计IIR低通滤波器 sfa=filter(b1,a1,siga);%信号通过该滤波器,输出信号sfa sfb=filter(b2,a2,sigb);%信号通过该滤波器,输出信号sfb

subplot(K1,2,5);plot(sfa,'LineWidth',1.5),grid on;title('LPF'); subplot(K1,2,6);plot(sfb,'LineWidth',1.5),grid on;title('LPF'); %===========抽样判决==================% s2a=[];s2b=[]; LL=fc/bitRate*N; i1=LL/2;i2=LL; bitb=[];

while (i1<=length(sfa)) %判决过程 s2a=[s2a,sfa(i1)>=0]; i1=i1+LL; end

while (i2<=length(sfb)) s2b=[s2b,sfb(i2)<=0]; i2=i2+LL; end for i=1:n

if s2a(i)>s2b(i) bit1=zeros(1,N); else

bit1=ones(1,N); end

bitb=[bitb,bit1];

11

end

figure(1);

subplot(K,1,4); plot(bitb,'LineWidth',1.5),grid on;title('解调后信号'); axis([0,length(bitb),-2.5,2.5]);

case 4,scolor='2DPSK'; %- 2DPSK 调制与解调

%--------------------------------------------------- %>>>>>>>>>>>>>>>>>>Initial_Part>>>>>>>>>>>>>>>>>>>>> %--------------------------------------------------- fs = 30000;

Time_Hold_On = 0.1;

Num_Unit = fs * Time_Hold_On;

High_Level = ones ( 1, Num_Unit ); Low_Level = zeros ( 1, Num_Unit ); w = 300; A = 1;

%--------------------------------------------------- %>>>>>>>>>>>>>>>>>>Initial_The_Signal>>>>>>>>>>>>>>> %--------------------------------------------------- Sign_Set = [0,1,1,0,1,0,0,1]

Lenth_Of_Sign = length ( Sign_Set );

st = zeros ( 1, Num_Unit * Lenth_Of_Sign );

sign_orign = zeros ( 1, Num_Unit * Lenth_Of_Sign ); sign_result = zeros ( 1, Num_Unit * Lenth_Of_Sign ); t = 0 : 1/fs : Time_Hold_On * Lenth_Of_Sign - 1/fs;

%--------------------------------------------------- %>>>>>>>>>>>产生基带信号>>>>>>>>>>>>

%--------------------------------------------------- for I = 1 : Lenth_Of_Sign if Sign_Set(I) == 1

sign_orign( (I-1)*Num_Unit + 1 : I*Num_Unit) = High_Level; else

sign_orign( (I-1)*Num_Unit + 1 : I*Num_Unit) = Low_Level; end end

%--------------------------------------------------- %>>>>>>>>>>>>>>>>>>调制部分>>>>>>>>>>>>>>>>>>

%---------------------------------------------------

12

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

for i=1:9 %2pSK编码 if a(i)==0 for k=1:50 %如果二进制原码为0则输出f1波形 out(k+50*(i-1))=f1(k); end else for j=1:50 out(j+50*(i-1))=f2(j); %r如果二进制原码为1则输出f2波形 end end end for i=1:9 %2PSK解码 n=0;m=0; for j=1:50 if out(j+50*(i-1))-f1(j)==0 n=n+1; else

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com