《msk仿真要点.pdf》由会员分享,可在线阅读,更多相关《msk仿真要点.pdf(15页珍藏版)》请在三一文库上搜索。
1、课程设计(II ) 通信系统仿真 题目MSK 系统仿真 专业通信工程 学号1100500135 姓名刘智文 日期2013.12.19 哈尔滨工业大学课程设计通信系统仿真 1 1、课程设计目的 通过对 MSK 系统的仿真, 了解 MSK 系统的性能,掌握利用Matlab 软件进行 MSK 系统的建模和分析方法。 2、课程设计内容 MSK 原理 频移键控是数字通信中用得较广的一种形式,在衰落信道中传输数据时, 它被广泛采用。 FSK信号是 0 符号对应载频 1,而 1 符号对应于载频 2(与1 不同的另一载频)的已调波形,而且1与2之间的改变是瞬间完成的。基本调制 方法有模拟调频法和键控法。 一般
2、来说,键控法得到的得到的调制信号的相位是不连续的(两载波频率相 差为 pi/2的整数倍时相位连续) 。是一种非线性调制,因此研究它的频谱特性比 较困难。 图 1 二进制移频键控信号的时间波形 MSK叫最小移频键控,它是移频键控(FSK )的一种改进型。这里“最小”指的是 能以最小的调制指数(即0.5)获得正交信号,它能比PSK传送更高的比特速率。 二进制 MSK 信号的表达式可写为: costSMSK k k c t Ts a t 2 (1) k T stTsk)1( a a k 1011001 t s( t) t s( t)b t t c d et tf gt2 FS K信号 哈尔滨工业大学
3、课程设计通信系统仿真 2 式中, k 称为附加相位函数; c 为载波角频率; Tk 为第 k 个输入码元, s 为码 元宽度; a 取值为 1;k 为第 k 个码元的相位常数,在时间kTst (k+1)Ts 中保持不变,其作用是保证在t=kTs 时刻信号相位连续。由 (2) 可知 当 k a 1 时,信号的频率为: 2 f c f Ts4 1 当 k a 1 时,信号的频率为: 1 f c f Ts4 1 由此可得频率之差为:f 2 f 1 f Ts2 1 H=fTs= Ts2 1 x Ts=0.5 那么 MSK 信号波形如图示: 图 2 MSK信号波形 从图中可以看出, +信号和信号在一个码
4、元期间恰好相差二分之一周,即相 差为了保持相位的连续,在 t = kTs时间内应有下式成立: k = 1k ( 1k a k a) 2 (1k) (3) 即:当 k a 1k a时, k=1k ; 当 k a 1k a时, k = 1k (1k); (4) 若令 00,则k0 或,此式说明本比特内的相位常数不仅与本比特区 间的输入有关,还与前一个比特区间内的输入及相位常数有关。由附加相位函数 k(t) 的表示式可以看出,k(t) 是一直线方程,其斜率为截距为k。由于 ak ( ) 2 kk c s dta w dtT fp =+= 2 c S w T p + 2 c S w T p - 1a=
5、 + 1a 哈尔滨工业大学课程设计通信系统仿真 3 的取值为 1,故是分段线性的相位函数。因此,MSK的整个相位路径是由间隔为 Ts 的一系列直线段所连成的折线。在任一个码元期间Ts,若 ak=+1,则k(t) 线 性增加;若ak=-1, 则k(t) 线性减小。对于给定的输入信号序列ak ,相应的 附加相位函数 k(t) 的波形如图所示。对于各种可能的输入信号序列,k(t) 的 所有可能路径是一个从 -2到+2的网格图。 图 3 附加相位函数 k(t) 的波形图 图 4 附加相位路径网格 从以上分析总结得出, MSK 信号具有以下特点: (1)MSK 信号是恒定包络信号; (2)在码元转换时刻
6、,信号的相位是连续的,以载波相位为基准的信号相位在一 0 k(t) 111111111ak 3023344x k 2TsTs3Ts4Ts5Ts6Ts7Ts8Ts9Tst 2 3 2 3 2 5 2Tb 0(0) /2 3/2 2 /2 3/2 2 0 4Tb6Tb8Tb t ( t) 哈尔滨工业大学课程设计通信系统仿真 4 个码元期间内线性地变化/2 ; (3) 在一个码元期间内,信号应包括四分之一载波周期的整数倍,信号的频率 偏移等于,相应的调制指数h=0.5。 (4) 信号频率偏移严格等于 Ts4 1 。 3、设计与实现过程 总的流程图如下: 由式tw Ts t qtw Ts t pckc
7、ksin 2 sincos 2 cos(k-1)TstkTs 可知 MSK 信号可以用两个正交的分量表示: Sk(t)= tw Ts t Qtw Ts t I ckck sin 2 sincos 2 cos(k-1 )Tst kTs 式中:右端 1 项称为同相分量,其载波为coswct; 第 2 项称作正交分量,其载 波为 sinwct. 根据上式构成方框图如下图所示: 哈尔滨工业大学课程设计通信系统仿真 5 图 2.1 MSK 调制原理框图 由于 MSK 信号的调制指数较小, 采用一般的鉴频器方式进行解调误码率性 能不太好,因此对误码率有较高要求时大多采用相干解调方式。 已知:Sk(t)=t
8、w Ts t Qtw Ts t I ckck sin 2 sincos 2 cos(k-1)TstkTs 把该信号进行正交解调可以得到: Ik路 tw Ts t Qtw Ts t I ckck sin 2 sincos 2 coscoswct ) 2 2cos( 4 1 ) 2 2cos( 4 1 ) 2 2cos( 4 1 ) 2 2cos( 4 1 ) 2 cos( 2 1 t Ts t wQt Ts t wQ t Ts t wIt Ts t wI Ts t I cKcK cKckk Qk路 tw Ts t Qtw Ts t I ckck sin 2 sincos 2 cossinwct
9、) 2 2sin( 4 1 ) 2 2sin( 4 1 ) 2 2sin( 4 1 ) 2 2sin( 4 1 ) 2 sin( 2 1 t Ts t wQt Ts t wQ t Ts t wIt Ts t wI Ts t Q cKcK cKckK 我们需要tw Ts t I ck cos 2 cos和 ) 2 sin( 2 1 Ts t QK两路信号,所以必须将其它频率成分 ( ) 2 2(), 2 2( TS w Ts w cc 通 过 低 通 滤 波 器 滤 除 掉 , 然 后 对 Ts t I k 2 cos 2 1 , ) 2 sin( 2 1 Ts t QK采样即可还原成 KK Q
10、I 和两路信号。 哈尔滨工业大学课程设计通信系统仿真 6 根据上面描述可构成MSK 解调器, 图 2.2 MSK 解调框图 主程序 %MSK 调制,解调 clear all close all %- - % 参数设置 data_len = 30000; % 码元个数 sample_number = 8; % 采样个数 Rb = 24000; % 码元速率 fc = 96000; % 载波频率 %* * %- - % 随机产生传输信号 data = rand_binary(data_len); %* * %- - %MSK 基带调制 signal_out,I_out,Q_out = mod_ms
11、k(data,data_len,sample_number,Rb); 哈尔滨工业大学课程设计通信系统仿真 7 %* * %- - % 中频搬移 multi = fc/Rb; I_temp=interp(I_out,multi); Q_temp=interp(Q_out,multi); Fs=fc*sample_number; t=1/Fs:1/Fs:length(I_temp)*1/Fs; signal_i=I_temp.*cos(2*pi*fc*t); signal_q=Q_temp.*sin(2*pi*fc*t); signal_mod=I_temp.*cos(2*pi*fc*t)-Q_t
12、emp.*sin(2*pi*fc*t); signal_mod1=real(I_temp+j*Q_temp).*exp(j*2*pi*fc*t); %* * %- - % 加噪声 for SNR = 0:8 signal_mod1 = 0.01 * awgn(signal_mod,SNR); %- - % 去载波 N=300; % 滤波器的阶数为 (N+1) F=0,fc-1000,fc+1000,Fs/2*2/Fs; A=1,1,0,0; lpf=firls(N,F,A); amp_lpf,w=freqz(lpf); I_dem=signal_mod1.*cos(2*pi*fc*t)*2 .
13、* cos(pi*t*Rb/2); I_dem=conv(I_dem,lpf); I_dem=I_dem(N/2+1:N/2+length(I_temp); Q_dem=signal_mod1.*sin(2*pi*fc*t)*2 .* sin(pi*t*Rb/2); Q_dem=conv(Q_dem,lpf); Q_dem=-Q_dem(N/2+1:N/2+length(I_temp); I_dem_out=zeros(1,length(I_dem)/multi); % 抽取 Q_dem_out=zeros(1,length(Q_dem)/multi); for i=1:length(I_de
14、m_out) I_dem_out(i)=I_dem(multi*(i-1)+1); Q_dem_out(i)=Q_dem(multi*(i-1)+1); 哈尔滨工业大学课程设计通信系统仿真 8 end ; %* * %- - % 解调,判决 demod_data = zeros(1,data_len); for i = 1:data_len I_dem1(i) = I_dem_out(i*sample_number)0; Q_dem1(i) = Q_dem_out(i*sample_number)0; end for i = 1:2:data_len m1(i) = Q_dem1(i); en
15、d for i = 2:2:data_len m1(i) = I_dem1(i); end m1 = 2*m1-1; %* * %- - % 差分解码 demod_data = zeros(1,data_len); demod_data(1) = 1 * m1(1); for i = 2:data_len demod_data(i) = m1(i-1) * m1(i); end %* * %- - % 计算误码率 num,ber(SNR+1)=symerr(demod_data,data); %* * end% /for snr %* * %- - % 误码率曲线 semilogy(0:8,b
16、er,r*-); %* * 哈尔滨工业大学课程设计通信系统仿真 9 %- - % 误码率理论值 snr = 0:0.1:8; for i = 1:length(snr) snr1(1,i) = 10(snr(1,i)/10); ps(1,i) = 1/2 * erfc(sqrt(snr1(1,i); pe(1,i) = 2 * ps(1,i); end hold on semilogy(0:.1:8,pe); %* * (1) mod_msk 函数 此函数用来产生基带调制信号 functionsignal_out,I_out,Q_out = mod_msk(data,data_len,samp
17、le_number,Rb) %MSK 基带调制 %* * % data 调制信号 % data_len 码元个数 % sample_number 每个码元采样点数 % Rb 码元速率 % signal_out 基带调制输出 % I_out I路输出 % Q_out Q路输出 %* * % data_len = 10; %码元个数 % sample_number = 8; %采样点数 % Rb = 16000; %码元速率 % data1 = randint(1,data_len); % data = 2*data1-1; %传输的序列 Tb = 1/Rb; % 码元时间 fs = Rb*sam
18、ple_number; % 采样速率 %- - % 差分编码 data_diff = difference(data); 哈尔滨工业大学课程设计通信系统仿真 10 %* * %- - % 并串转换,延时 I(1) = 1; %fai0 = 0,cos(fai0) = 1 for i = 1:2:data_len Q(i) = data_diff(i); Q(i+1) = data_diff(i); end for i = 2:2:data_len I(i+1) = data_diff(i); I(i) = data_diff(i); end for i = 1:sample_number I1
19、(i:sample_number:data_len*sample_number) = I(1:data_len); Q1(i:sample_number:data_len*sample_number) = Q(1:data_len); end %* * %- - % 乘加权函数 t=1/fs:1/fs:data_len*Tb; I_out = I1 .* cos(pi*t/2/Tb); Q_out = Q1 .* sin(pi*t/2/Tb); %* * %- - % 调制信号产生 signal_out = I_out + j*Q_out; %* * % %- - % %画图 % subplo
20、t(221) % plot(data,.-);title(MSK传 输 的 数 据 );xlabel(时 间 );ylabel(幅度) 哈尔滨工业大学课程设计通信系统仿真 11 %subplot(222) % plot(data_diff,.-);title(差 分 后 的 数 据 );xlabel(时 间 );ylabel(幅度) % subplot(223) % plot(I1,.-);title(加权前 I 路);xlabel(时间);ylabel(幅度 ); % subplot(224) % plot(Q1,.-);title(加权前 Q 路);xlabel(时间);ylabel(幅度
21、 ); % figure(2) % subplot(221) % plot(cos(pi*t/2/Tb),.-);title(加权函数cos( t/(2Tb);xlabel(时间);ylabel(幅度) % subplot(222) % plot(sin(pi*t/2/Tb),.-);title(加权函数sin( t/(2Tb);xlabel(时间);ylabel(幅度) % subplot(223) % plot(I_out,.-);title(加权后 I 路);xlabel(时间);ylabel( 幅度); % subplot(224) % plot(Q_out,.-);title(加权后
22、 Q路);xlabel(时间);ylabel( 幅度); % %* * (2) delay函数 用于延迟信号 function out = delay(data,n,sample_number) %data: 延迟的数据 %n: 延迟码元个数 %sample_number:码元采样个数 out = zeros(1,length(data); out(n*sample_number+1:length(data) = data(1:length(data)-n*sample_number); (3)rand_binary函数 用于产生随机信号 function data_binary,data_b
23、inary1=rand_binary(data_len); % 随机产生一个二进制序列作为仿真用的消息序列 %* * %data 序列长度 %data_binary 产生的二进制序列 %* * 哈尔滨工业大学课程设计通信系统仿真 12 %- - data1=randn(1,data_len); data_binary=zeros(1,data_len); data_binary1=zeros(1,data_len); for i=1:data_len if data1(i)0 data_binary(i)=-1; data_binary1(i)=0; else data_binary(i)=1
24、; data_binary1(i)=1; end end (4)difference函数 用于差分编码 function data_diff = difference(data) % 差分编码 %* * %data 输入信号 %data_diff 差分编码后信号 %* * %- - data_diff = zeros(1,length(data); data_diff(1) = 1 * data(1); %1 为差分编码的初始参考值 for i = 2:length(data) data_diff(i) = data_diff(i-1) * data(i); end %* * 4、结论 哈尔滨
25、工业大学课程设计通信系统仿真 13 从图中可以看出实际的曲线与理论的曲线很接近,误码率较小,可知经过 MSK 调制解调后的信号与原信号相比无明显失真,这也说明MSK 调制性能比较 好。 5、心得和体会 MATLAB 是通信方向主要的专业课程之一。在通信与电子工程领域,系统仿 真技术一直是进行新型通信协议研发、通信体制的性能研究、通信系统设计等的 重要手段。通过这次课程设计,我们在强大的MATLAB 平台上对数字信号的传输 系统进行了一次仿真,有效的完善了学习过程中实践不足的问题,同时进一步巩 固了原先的基础知识。 通过这次的课程设计,我们对信息和通信系统有了更进一步的认识,尤其是 在系统设计方面,在设计过程中,也同样遇到了许多棘手问题,比如参数设置的 不理想因此总是会出现波形失真的现象等问题。但是通过上网查找资料和查询参 考书能够让我更好的完成此次设计。这次课程设计不仅让我对MATLAB 有了一个 比较深的了解,也让我对MSK 有了全面的认识。 课程设计成绩评定表 哈尔滨工业大学课程设计通信系统仿真 14 成 绩 评 定 项目比例得分 平时成绩(百分制)20% 业务考核成绩(百分制)80% 总评成绩(百分制)100% 评语: 评审教师: 时间:
链接地址:https://www.31doc.com/p-5197611.html