FSK调制解调MATLAB源代码.docx

上传人:b****1 文档编号:2417579 上传时间:2022-10-29 格式:DOCX 页数:33 大小:30.95KB
下载 相关 举报
FSK调制解调MATLAB源代码.docx_第1页
第1页 / 共33页
FSK调制解调MATLAB源代码.docx_第2页
第2页 / 共33页
FSK调制解调MATLAB源代码.docx_第3页
第3页 / 共33页
FSK调制解调MATLAB源代码.docx_第4页
第4页 / 共33页
FSK调制解调MATLAB源代码.docx_第5页
第5页 / 共33页
点击查看更多>>
下载资源
资源描述

FSK调制解调MATLAB源代码.docx

《FSK调制解调MATLAB源代码.docx》由会员分享,可在线阅读,更多相关《FSK调制解调MATLAB源代码.docx(33页珍藏版)》请在冰豆网上搜索。

FSK调制解调MATLAB源代码.docx

FSK调制解调MATLAB源代码

FSK调制解调MATLAB源代码

关键词:

FSK高斯白噪声调制眼图信噪比

 

functionFSK

Fc=10;  %载频

Fs=40;  %系统采样频率

Fd=1;  %码速率

N=Fs/Fd;

df=10;

numSymb=25;%进行仿真的信息代码个数

M=2;    %进制数

SNRpBit=60;%信噪比

SNR=SNRpBit/log2(M);

seed=[1234554321];

numPlot=25;

%产生25个二进制随机码

x=randsrc(numSymb,1,[0:

M-1]);%产生25个二进制随机码

figure

(1)

stem([0:

numPlot-1],x(1:

numPlot),'bx');

title('二进制随机序列')

xlabel('Time');

ylabel('Amplitude');

%调制

y=dmod(x,Fc,Fd,Fs,'fsk',M,df);

numModPlot=numPlot*Fs;

t=[0:

numModPlot-1]./Fs;

figure

(2)

plot(t,y(1:

length(t)),'b-');

axis([min(t)max(t)-1.51.5]);

title('调制后的信号')

xlabel('Time');

ylabel('Amplitude');

%在已调信号中加入高斯白噪声

randn('state',seed

(2));

y=awgn(y,SNR-10*log10(0.5)-10*log10(N),'measured',[],'dB');%在已调信号中加入高斯白噪声

figure(3)

plot(t,y(1:

length(t)),'b-');%画出经过信道的实际信号

axis([min(t)max(t)-1.51.5]);

title('加入高斯白噪声后的已调信号')

xlabel('Time');

ylabel('Amplitude');

%相干解调

figure(4)

z1=ddemod(y,Fc,Fd,Fs,'fsk/eye',M,df);

title('相干解调后的信号的眼图')

%带输出波形的相干M元频移键控解调

figure(5)

stem([0:

numPlot-1],x(1:

numPlot),'bx');

holdon;

stem([0:

numPlot-1],z1(1:

numPlot),'ro');

holdoff;

axis([0numPlot-0.51.5]);

title('相干解调后的信号原序列比较')

legend('原输入二进制随机序列','相干解调后的信号')

xlabel('Time');

ylabel('Amplitude');

%非相干解调

figure(6)

z2=ddemod(y,Fc,Fd,Fs,'fsk/eye/noncoh',M,df);

title('非相干解调后的信号的眼图')

%带输出波形的非相干M元频移键控解调

figure(7)

stem([0:

numPlot-1],x(1:

numPlot),'bx');

holdon;

stem([0:

numPlot-1],z2(1:

numPlot),'ro');

holdoff;

axis([0numPlot-0.51.5]);

title('非相干解调后的信号')

legend('原输入二进制随机序列','非相干解调后的信号')

xlabel('Time');

ylabel('Amplitude');

%误码率统计

[errorSymratioSym]=symerr(x,z1);

figure(8)

simbasebandex([0:

1:

5]);

title('相干解调后误码率统计')

[errorSymratioSym]=symerr(x,z2);    

figure(9)

simbasebandex([0:

1:

5]);

title('非相干解调后误码率统计')

%滤除高斯白噪声

Delay=3;R=0.5ropD=0;  %滞后3s

[yf,tf]=rcosine(Fd,Fs,'fir',R,Delay);    %升余弦函数

[yo2,to2]=rcosflt(y,Fd,Fs,'filter',yf);

%加入高斯白噪声后的已调信号和经过升余弦滤波器后的已调信号

t=[0:

numModPlot-1]./Fs;

figure(10)

plot(t,y(1:

length(t)),'r-');

holdon;

plot(to2,yo2,'b-');

holdoff;

axis([030-1.51.5]);

xlabel('Time');

ylabel('Amplitude');

legend('加入高斯白噪声后的已调信号','经过升余弦滤波器后的已调信号')

title('升余弦滤波前后波形比较')

eyediagram(yo2,N);%眼图

title('加入高斯白噪声后的已调信号的眼图')

ASK数字通信系统matlab仿真及误码率分析

别人叫我帮忙的但是我不是通信专业大家帮帮忙

1、假设某数字通信系统收发信息速率为1kbps,发送端对数字信息进行ASK调制后,使用模拟线路进行传输,其中,载波频率为4kHz,数字“1”对应有载波,数字“0”对应无载波,接收端接收到信号后使用载波信号为模板进行相关解调。

考虑信道中存在不同的加性高斯白噪声的情况下,分析此时该系统的误码性能。

设计内容3的操作步骤:

1、

根据假设,系统信息速率为1kbps,考察1s内系统的误码性能,即需要随机生成1000个“0”,“1”数据,每一位信息所占时间片大小为1ms。

(round(rand(1,1000)))

2、

由于系统载波频率为4kHz,生成载波信号Ca=sin(2*pi*4000*t),进行AM调制,若信息为“1”,载波幅度为1,若信息为“0”,载波幅度为0。

例如,若第n位数据为“1”,则在第n位数据对应的时间片((n-1)ms<=t<=nms)内为正弦载波信号,若每一个时间片内取100个采样点,则对应信号为sin(2*pi*4000*t),t=n-1+1/100:

1/100:

n;反之,为0。

例如下图为10个离散数据:

0,0,0,0,1,0,1,0,0,0,经过调制后的波形。

(见附件)

3、

信号调制后送入信道,假设该信道存在较大的加性高斯白噪声,使用awgn函数生成在接收端接收到的叠加了噪声的信号。

(Rx_m=awgn(Tx_m,-5,0),其中Tx_m为调制后的信号,Rx_m为在接收端接收的信号,-5表示信噪比为-5dB,0表示信号功率为0dBw)

4、

在接收端用载波信号为模板进行相关解调。

(即将1个时间片(1ms)内的接收信号(100个)与载波信号逐点相乘后累加,与阈值(载波信号逐点相乘后累加值的一半)相比,若大于阈值,则判定接收的信号为“1”,反之为“0”,阈值大小设为载波与载波相关值的一半)

5、

将接收到的数据与发送数据进行比较,找出,并计算发生错误的位的个数,计算此时的误码率。

6、

修改awgn函数中的信噪比,重复以上操作,分析误码率变换的规律,并说明原因。

附二:

可能用到的函数,可用“help命令”的格式查看帮助

roundrandawgnsumbitxor

%Matlabversion:

 7.0.4.365(R14)ServicePack2

%Date:

2009/01/15

%Rs=1000;%rateis1kbps

%fc=4000;%carrieris4kHz

%'1'employscarrier

%'0'nocarrier

%t0=1;%timedurationis1second

N=1000;%Samplenumber,equaltorate

fc=4000;%Carrierfrequency

fs=100;% Smaplingrateperbit

ts=1/fs;%Samplinginterval

t0=1;%Timeduration

tc=t0/N;%Eachbitlasts1millisecond

t=[0:

tc:

t0-tc];%Timeaxisofmessagesignal

ct=[0:

ts/N:

tc-ts/N];%Timeaxisofonebitduration

ca=sin(2*pi*fc*ct);%Carriersignal

test=ca.^2;

limitation=sum(test);

snr=-5;%SNRindB

bercnt=0;%biterrorcounter

%Messagesignal

xn=round(rand(1,1000));%1000randombits

%Modulation,mod_sigisthemodulatedsignalwithoutnoise

form1=1:

N  

   if(xn(m1)==1)

     mod_sig((m1-1)*fs+1m1*fs))=ca;

   else

     mod_sig((m1-1)*fs+1m1*fs))=zeros(1,fs);

   end 

end

%ThroughAWGNChannel 

rn=awgn(mod_sig,snr,0);%Receivedsignal 

%Correlationdemodulation

rxn=zeros(1,N);%Estimatedvalueofrn

form2=1:

N%Processingbitbybit

   rn_seg=rn((m2-1)*fs+1m2*fs));

   sumrxn(m2)=rn_seg*ca';%Correlationandsummation

   if(sumrxn(m2)>=(limitation/2))%Determinationcriteria,25isthelimitedvalue

     rxn(m2)=1;

   else 

     rxn(m2)=0;  

   end

   if(rxn(m2)~=xn(m2))

     bercnt=bercnt+1;

   end

%  if

end

ber=bercnt/N;

disp('信噪比为:

');snr

disp('误码率为:

');ber

%sum(rxn-xn)

subplot(311)

stem(xn,'rx'),title('原始信号'),xlabel('t/0.001s'),axis([121-.251.25]) 

subplot(313)

stem(rxn,'kx'),title('解调信号'),xlabel('t/0.001s'),axis([121-.251.25]) 

subplot(312),

plot(mod_sig),title('已调信号'),axis([02000-1.51.5]) 

PSK信号载波相位符号定时联合估计程序

载波环采用判决反馈环,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 职业教育 > 职高对口

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1