MSK调制解调实现说课讲解
MSK调制与解调
信息科学与技术学院通信原理课程设计报告课题名称:MSK系统的调制和解调学生姓名:学号:专业年级:电子信息工程10级班级:二班指导教师:完成时间:2013-7-10目录1.直流电机控制系统概述 .................................................................................... 错误!未定义书签。
1.1系统描述.......................................................................................... 错误!未定义书签。
1.2直流电机概述.................................................................................. 错误!未定义书签。
2.题目及要求........................................................................................................ 错误!未定义书签。
2.1 题目................................................................................................. 错误!未定义书签。
2.2要求.................................................................................................. 错误!未定义书签。
3直流电机功能设计及描述 ................................................................................. 错误!未定义书签。
MSK调制解调技术的原理及应用分析
MSK调制解调技术的原理及应用分析姓名:莫波微班级:05921001 学号:1120101489MSK是数字调制技术的一种。
数字调制是数字信号转换为与信道特性相匹配的波形的过程。
调制过程就是输入数据控制(键控)载波的幅度、频率和相位。
MSK属于恒包络数字调制技术。
现代数字调制技术的研究,主要是围绕着充分的节省频谱和高效率地利用可用频带这个中心而展开的。
随着通信容量的迅速增加,致使射频频谱非常拥挤,这就要求必须控制射频输出信号的频谱。
但是由于现代通信系统中非线性器件的存在,引入了频谱扩展,抵消了发送端中频或基带滤波器对减小带外衰减所做的贡献[}}o}。
这是因为器件的非线性具有幅相转换(AM/PM)效应,会使己经滤除的带外份量几乎又都被恢复出来了。
为了适应这类信道的特点,必须设法寻找一些新的调制方式,要求它所产生的己调信号,经过发端带限后,虽然仍旧通过非线性器件,但是,非线性器件输出信号只产生很小的频谱扩展。
因此MSK是一种特殊的连续相位的频移键控(CPFSK),其最大频移为比特率的1/4。
换句话说,MSK是调制系数为0.5的连续相位的FSK。
FSK信号的调制系数类似于FM调制系数,定义为k FSK=(2Δf)/R b,其中ΔF是最大射频移,R b是比特率。
调制系数0.5对应着能够容纳两路正交FSK信号的最小频带,最小频移键控的由来就是指这种调制方法的频率间隔(带宽)是可以进行正交检测的最小带宽。
MSK是一种高效的调制方法,特别适合在移动无线通信系统中使用。
它有很多好的特性,例如恒包络、频谱利用率高、误比特率低和自同步性能。
MSK信号也可以看成是一类特殊形式的OQPSK。
在MSK中,OQPSK的基带矩形脉冲被半正弦脉冲取代。
可以看出MSK信号是二进制信号频率分别为f c+1/4T和f c-1/4T的FSK信号。
MSK信号的相位在每一个比特期间是线性的。
MSK信号的旁瓣比QPSK和OQPSK信号低。
MSK信号99%的功率位于带宽B=1.2/T之中。
MSK的调制解调原理
(1.1-4)
ak dk (t ) c 2Ts dt
c c
Ts
, ak , ak
1
2Ts
1
(1.1-5)
由式(1.1-5)可以看出,MSK 信号的两个频率分别为 1 (1.1-6) f 1 fc 4Ts 1 (1.1-7) f 2 fc 4Ts n 中心频率 fc 应选为 fc = ,n=1,2„ (1.1-8) 4Ts
t
2Ts
(1.1-19)
也成为 I 支路。其正交分量为
xQ(t ) ak cos k sin[
也成为 Q 支路。 cos[
] sin ct
t
2Ts ] 称为加权函数。
(1.1-20)
t
2Ts
] 和 sin[
由式(1. 1-1)可以画出 MSK 信号调制器原理图如图 e 所示。图中,输入二进制数据序列经差
1 2Ts
(1.1-10) (1.1-11) (1.1-12) (1.1-13)
由此可得频率间隔为 f f 2 f 1 MSK 信号的调制指数为 h= fTs =
1 2
当取 N=1,m=0 时,MSK 信号的时间波形如图 1.1 所示
图 1.1 MSK 信号的时间波形 对第 k 个码元的相位常数 k 的选择应保证 MSK 信号相位在码元转换时刻是连续的。 根据这 一要求,由式(1.1-2)可以得到相位约束条件为:
k (t ) 线性增加
;若 ak = -1,则 k (t ) 线性减少 对于给定的输入信号序列{ ak },相应的 2 2
附加相位函数 k (t ) 的波形如图 l.2 所示。
图 1.2
附加相位函数 k (t ) 的波形图
MSK的调制解调原理
第一章 MSK 调制与解调原理MSK (Minimum Frequency Shift Keying )是二进制连续相位FSK 的一种特殊形式。
MSK 称为最小频移键控,所谓“最小”是指这种调制方式能以最小的调制指数(0.5)获得正交信号。
1.1 MSK 信号MSK 是恒定包络连续相位频率调制,其信号的表示式为⎪⎭⎫⎝⎛++=k s k c msk t T a t t s φπω2cos )( (1.1-1)其他 ()s s T k t kT )1+≤≤ ,k =0,1,… 令 kskk T a t φπθ+=2)(, ()s s T k t kT )1+≤≤ (1.1-2)则式(1.1-1)可表示为[])cos )(t t t k c msk s (+=θω (1.1-3)式中,)t k (θ称为附加相位函数;c ω为载波角频率;s T 为码元宽度;k a 为第k 个输入码元,取值为±1;k φ为第k 个码元的相位常数,在时间()s s T k t kT )1+≤≤中保持不变,其作用是保证在t=kTs 时刻信号相位连续。
令)(t k φ=k skc t T a t φπω++2 (1.1-4)则+=c k dtt d ωφ)(=s k T a 2π{11,2,-==-2+ksc k sc a T a T πωπω (1.1-5)由式(1.1-5)可以看出,MSK 信号的两个频率分别为Ts f f c 411-= (1.1-6) Tsf f c 412+= (1.1-7) 中心频率c f 应选为c f =Tsn4,n=1,2… (1.1-8)式(1.1-8)表明,MSK 信号在每一码元周期内必须包含四分之一载波周期的整数倍。
c f 还可以表示为c f =(4m N +)Ts1 (N 为正整数;m=0,1,2,3) (1.1-9) 相应地MSK 信号的两个频率可表示为Ts f f c 411-==(41-+m N )Ts 1 (1.1-10) Ts f f c 412+==(41++m N )Ts1 (1.1-11) 由此可得频率间隔为s T f f f 2112=-=∆ (1.1-12)MSK 信号的调制指数为h=fTs ∆=21(1.1-13)当取N=1,m=0时,MSK 信号的时间波形如图1.1所示图1.1 MSK 信号的时间波形对第k 个码元的相位常数k φ的选择应保证MSK 信号相位在码元转换时刻是连续的。
8实验十四 十五 MSK调制与解调
实验十四 MSK 调制【实验目的】1、 了解MSK 的调制基本工作原理2、 通过SCICOS 建模与仿真,掌握MSK 正交调制的基本工作原理与实现过程【实验原理】连续相位2FSK 调制的两信号正交的最小频率间隔为1/(2)b T ,则称此连续相位2FSK 为最小频移键控,用MSK 表示。
此MSK 信号也是调频信号,其峰值频偏1/(4)b f T ∆=,定义其调制指数为1(2*)/1/(2*)2b b b f h R T R ∆===。
可利用图1的调频器来产生MSK 信号。
图1 利用h=0.5的VCO 产生MSK 信号图1中的{n a }是二进制序列,取值为±1,b T 是比特间隔,()T g t 是不归零矩形脉冲波形,VCO 是压控振荡器,用作调频器,其调制指数h=0.5。
令数字基带信号b(t)为双极性不归零矩形脉冲序列,其表示式为()()nTb n b t a gt nT ∞=-∞=-∑调频器(VCO)的频率为()c f f f K b t =+为确保调频器的峰值频偏1/(4)b f T ∆=,设比例常数f K =1/2,则1()2c f f b t =+VCO 的角频率为2()c f b t ωππ=+MSK 的信号表示式为 ()cos[2()]tMSK c s t A f t b d ππττ-∞=+⎰设()()tt b d θπττ-∞=⎰1()()()2t nTb n n kn b k t a gnT d aa q t nT θπττππ∞-∞=-∞-=-∞=-=+-∑⎰∑其中120()00or b bb T t T g t t t T ≤≤⎧=⎨< > ⎩00()()21/2t T b b b t q t g d t T t T t Tττ-∞<⎧⎪== 0≤≤⎨⎪ >⎩⎰经推导得()cos[2]2MSK c n n bts t A f t a x T ππ=++其中n x 取值为0或π±将()MSK s t 进行余弦展开,得正交表示形式如下:()[cos cos()cos cos sin()sin ]22MSK n c n n c bbtts t A x t x a t T T ππωω=-[cos cos()cos cos sin()sin ]22n c n n c bbttA x t a x t T T ππωω=-(1)b b nT t n T ≤≤+由于n x 取值为0或π±,所以cos n x 取值为1±,cos n n a x 取值也为1±。
MSK调制解调实验报告讲解
实验一 MSK 调制解调实验报告一、实验原理及工作过程1、MSK 调制原理MSK 称为最小移频键控,是移频键控(FSK )的一种改进型。
这里“最小”指的是能以最小的调制指数(即0.5)获得正交信号,它能比PSK 传送更高的比特速率。
二进制MSK 信号的表达式可写为:()cos =t S MSK ⎪⎭⎫⎝⎛++k k c t Tsa t ϕπω2kTs t Ts k ≤≤-)1(c ω——载波角频率; Ts ——码元宽度;k a ——第k 个码元中的信息,其取值为±1;k ϕ——第k 个码元的相位常数,它在时间kTs t Ts k ≤≤-)1(中保持不变;当k a =+1时,信号的频率为:2f =c f +Ts 41 当k a =-1时,信号的频率为:1f =c f -Ts 41由此可得频率之差为:f ∆=2f -1f =Ts21那么MSK 信号波形如图2.1-1所示:图2.1-1 MSK 信号波形为了保持相位的连续,在t =kTs 时间内应有下式成立:k ϕ=1-k ϕ+(1-k a -k a )(2π(1-k ))即:当k a =1-k a 时,k ϕ=1-k ϕ;当k a ≠1-k a 时,k ϕ=1-k ϕ±(1-k )π;若令0ϕ=0,则k ϕ=0或±π,此式说明本比特内的相位常数不仅与本比特区间的输入有关,还与前一个比特区间内的输入及相位常数有关。
()cos =t S MSK ⎪⎭⎫⎝⎛++k k c t Tsa t ϕπω2=k ϕcos )(t Ts2cos πt c ωcos -ka k ϕcos )(t Ts2sin πt c ωsinkTs t Ts k ≤≤-)1(令k ϕcos =k I , -k a k ϕcos =k Q 则:()t S MSK =k I )(t Ts2cos πt c ωcos +k Q )(t Ts2sin πt c ωsinkTs t Ts k ≤≤-)1(为了便于理解如图2.1-2所示:123456789101112131415161718192021222324+1+1+1+1+1+1+1+1+1+1+1+1+1+1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1+1+1+1+1+1+1+1+1+1+1+1+1+1k a kϕkd k ϕcos kk a ϕcoscos a k k ϕ0π0πππ0000ππππππ0000000+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1cos k ϕk 图2.1-2 码元变换及成形信号波形图根据上面描述可构成一种MSK 调制器,其方框图如图2.1-3所示:图2.1-3 MSK 调制原理框图输入数据NRZ ,然后通过CPLD 电路实现差分编码及串/并转换,得到I k 、Q k 两路数据。
msk调制与解调
msk调制与解调引言:在现代通信系统中,调制和解调是基本的信号处理技术。
而在调制和解调的方法中,最常用的之一就是Minimum Shift Keying (MSK)调制和解调技术。
本文将深入探讨MSK调制与解调的原理、特点以及应用。
一、MSK调制的原理MSK调制是一种连续相位调制技术,其基本原理是通过改变载波的相位来传输数字信号。
MSK调制的关键在于选择合适的载波频率和相位变化规律。
1.1 载波频率选择在MSK调制中,载波的频率应该满足一定的条件,即与数据速率相等或是其整数倍。
这样可以确保每个数据比特对应一个载波周期,避免信息的混叠和交叠。
1.2 相位变化规律MSK调制的特点之一是相位变化为连续的线性函数,即相位在每个符号周期内以恒定的速率线性变化。
这种相位变化规律使得MSK信号的频谱特性更加优良,有利于抗干扰和传输性能的提高。
二、MSK调制的特点MSK调制具有许多优点,使其成为现代通信系统中广泛使用的调制技术。
2.1 频谱效率高由于MSK调制的相位变化规律为线性连续变化,其频谱特性非常优秀。
相邻的频带之间没有交叠,使得频谱利用率更高,频谱效率更大。
2.2 抗多径衰落能力强MSK调制对于多径衰落的抗干扰能力较强,能够有效地抑制多径衰落引起的码间干扰,提高信号的传输质量。
2.3 抗相位偏移干扰由于MSK调制的相位变化规律为线性连续变化,相位偏移对于信号的影响较小。
因此,MSK调制对于相位偏移干扰具有较好的抗干扰能力。
三、MSK解调的原理MSK解调是将调制信号还原为原始数字信号的过程,其原理与调制相对应。
3.1 相干解调相干解调是MSK解调的一种常用方法。
它通过与接收信号进行相干检测,提取出信号的相位信息,从而实现解调。
3.2 频率鉴别解调频率鉴别解调是另一种常见的MSK解调方法。
它通过对接收信号的频率进行鉴别,来实现解调。
四、MSK的应用MSK调制与解调技术在许多通信系统中被广泛应用。
4.1 无线通信系统在无线通信系统中,MSK调制与解调技术被广泛应用于GSM、CDMA等数字通信系统中,以提高信号的传输质量和抗干扰能力。
第四章 现代数字调制解调技术_MSK
1
BPSK、QPSK、OQPSK和FSK信号的都可能会发生相位突变,
瞬间产生极大的频率变化,相应的谐波会造成对带外的干扰; OQPSK较之QPSK相位突变小,造成的带外干扰也小; 若能够采用避免相位跳变的调制,则可大大抑止带外干扰; 最小频移键控(MSK)正是基于这种思路提出的调制方式。
7
4.1.2 MSK信号的相位连续性 码元相位的含义 (k 1)T t kT 设: sk (t ) cos( s t k ), 式中, s - 载波角频率;
k - 码元初始相位。
仅当一个码元中包含整数个载波周期时,初始相位相同的 相邻码元间相位才是连续的,即波形是连续的;否则,即 使初始相位k相同,波形也不连续。如下图所示:
13
4.1.3 MSK信号的正交表示法 MSK信号表示式
s k (t ) cos( s t ak t k ) 2T
(k 1)T t kT
可以变换为如下两个正交分量:
s k (t ) p k cos
t
2T
cos s t q k sin
t
2T
sin s t
8 +1 0
(0, T) (2T, 3T) (3T, 4T) (4T, 5T) (5T, 6T) (6T, 7T) (7T, 8T) (8T, 9T)
+1 0
(mod 2)
k
pk
qk
1
1
1
-1
-1
-1
-1
1
-1
1
-1
-1
-1
-1
-1
1
1
1
15
最小移频键控(MSK)调制解调技术的原理及应用分析
最小移频键控(M S K)调制解调技术的原理及应用分析-CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIAN最小移频键控(MSK)调制解调技术的原理及应用分析摘要:最小频移键控(MSK)调制是恒包络调制方式的一种,能够产生包络恒定、相位连续的调制信号。
其带宽窄,频谱主瓣能量集中,旁瓣滚降衰减快,频带利用率高,在现代通信中得到了较为广泛地应用。
本文主要介绍分析MSK的调制与解调原理并进行MSK调制解调技术的应用分析。
MSK信号调制最小频移键控(MSK)调制是恒包络调制方式的一种,能够产生包络恒定、相位连续的调制信号。
其带宽窄,频谱主瓣能量集中,旁瓣滚降衰减快,频带利用率高,在现代通信中得到了广泛地应用。
MSK信号的基本原理最小频移键控又称快速频移键控,是一种特殊的二元频移键控(2FSK)。
用不同频率的载波来表示1和0就是频移键控FSK。
在频率(或数据)变化时一般的FSK信号的相位是不连续的,所以高频分量比较多。
如果在码元转换时刻FSK信号的相位是连续的,称之为连续相位的FSK信号(CPFSK)。
CPFSK 信号的有效带宽比一般的FSK信号小,最小移频键控(MSK)就是一种特殊的 CPFSK。
除了相位连续以外,MSK信号还要求满足:l码和0码的波形正交(有利于降低误码率),频移最小(有利于减小信号带宽,提高对信道的频带利用率)。
MSK信号具有正交信号的最小频差,可以表示为:f为载波(也可称为中间载波)的频率;相位()t nφ式中A为载波的振幅;c为MSK信号的总相位减去随时间增长的载波相位后得到的剩余相位,称为附加T为码元间隔周期。
由2FSK信号正交条件可相位函数,是时间的连续函数;b知,最小频差为:其调制指数为:式中1f 、2f 分别为MSK 信号1码和0码的载波频率。
此时有:式中n θ为第n 个码元的相位常数,取值为0或π(模2π)。
由此,MSK 信号的第n 个码元可表示为:式中1±=n a ,分别用来表示二进制信息l 和0。
MSK调制实验指导书
MSK调制实验指导书一、实验目的1、了解MSK调制的基本原理2、熟悉软件完成MSK的过程二、实验仪器1、软件无线电调制模块,位号:B、C2、双踪示波器1台3、DSP Emulator4、信号连接线三、实验原理1、MSK调制原理MSK(最小频移键控)是移频键控FSK的一种改进形式。
在二进制FSK方式中载波频率随着调制信号“1”或“0”而变,其相位通常是不连续的。
MSK是FSK信号的相位始终保持连续变化的一种特殊方式。
可以看成是调制指数为0. 5的一种CPFSK信号。
2、MSK调制原理框图:3、MSK输出波形:四、实验步骤:1、创建新工程文件:1)打开Code Composer Studio软件并建立workspace:点击Browse浏览并选择想要建立workspace的位置,之后生成的各种文件将保存在此目录下。
将workspace选择为F:\ti,点击ok建立完成。
2)新建CCS工程文件:点击File>New>CCS Project:输入工程文件名,并按下图进行配置,点击finish完成配置:工程名选择C5400系列选择TMS320C5402型号选择仿真器型号选择建立空工程双击MSKmode,鼠标右击名为VC5402.cmd的文件并点击Delete删掉该文件:鼠标右击MSKmode文件夹并选择Add Files:打开Communication theory文件夹>>MSK文件夹并选择如图所示文件,打开:选择copy files,点击ok:双击main.c,打开待改原程序:(注:1.缺少的头文件添加方式同前几个实验。
)2、修改程序:1)注释掉无关语句(由于msk调制不需要滤波器,注释掉以下语句):2)在OUT函数中如图位置调用MSKinit()函数和MSKmode()函数:(此两个函数需要同学们自己定义并自己进行填充)3)填充函数框架:void MSKint(){}void MSKmode() {}3、Build All 、Debug 。
msk调制解调课程设计
msk调制解调课程设计一、课程目标知识目标:1. 学生能理解MSK调制解调的基本概念,掌握其原理和数学表达式。
2. 学生能描述MSK调制解调在通信系统中的应用及其优势。
3. 学生能够解释MSK调制解调过程中相关参数对通信性能的影响。
技能目标:1. 学生能够运用MSK调制解调的相关知识,完成简单的通信系统模拟。
2. 学生能够使用相关软件工具对MSK调制解调进行仿真,分析其性能。
3. 学生能够通过实际操作,搭建简单的MSK调制解调实验系统,提高实践能力。
情感态度价值观目标:1. 学生通过学习MSK调制解调,培养对通信工程学科的兴趣和热情。
2. 学生在学习过程中,养成独立思考、合作学习、探究问题的良好习惯。
3. 学生能够认识到MSK调制解调在现代通信技术中的重要性,增强国家科技创新责任感。
课程性质分析:本课程属于通信工程学科,以MSK调制解调技术为核心,结合理论知识与实践操作,培养学生的通信技术素养。
学生特点分析:学生处于高年级阶段,具有一定的通信原理基础,具备一定的分析和解决问题的能力。
教学要求:结合课程性质、学生特点,将课程目标分解为具体的学习成果,注重理论与实践相结合,提高学生的知识应用能力和创新能力。
在教学过程中,关注学生的个体差异,因材施教,使学生在掌握MSK调制解调技术的基础上,形成良好的情感态度价值观。
二、教学内容1. 理论知识:- 通信系统概述:复习通信系统的基本概念、模型及性能指标。
- MSK调制原理:介绍MSK调制的基本原理、数学表达式及其与FSK、QPSK 的联系与区别。
- MSK解调原理:讲解MSK解调的方法、误码性能分析及其在通信系统中的应用。
2. 实践操作:- 通信系统模拟:利用软件工具(如MATLAB)进行MSK调制解调的模拟,分析其性能。
- 实验系统搭建:搭建简单的MSK调制解调实验系统,观察实际通信过程中MSK调制解调的效果。
3. 教学大纲:- 第一周:通信系统概述,MSK调制原理学习。
MSK调制解调系统的设计讲解
MSK调制解调系统的设计[摘要]最小频移键控(MSK)是恒定包络调制技术,它具有相位连续、频带利用率高的特点,是在无线通信领域中很有吸引力的数字调制方式,目前在短波、微波和卫星通信中均被采用。
本文研究了最小频移键控系统调制与解调的工作原理,并给出了基于MATLAB软件环境下的程序仿真及simulink下系统的模块搭建实现两种方式的实现。
运用m语言进行仿真,主要是依照MSK系统的工作原理绘制出流程图,最后写出程序进行仿真,并给出每一步骤的仿真结果图形。
运用simulink进行系统的模块搭建,是将系统分为调制与解调两个子模块,再将这两个子模块连接成整体的MSK系统模块进行仿真。
最后给出全系统的仿真运行结果及其分析研究结果。
[关键字]MSK; Matlab;Simulink;调制解调Simulation of MSK Modulation and Demodulation System[Abstract] Minimum Shift Keying (MSK) is a constant envelope modulation techniques, it has a continuous phase, high bandwidth efficiency characteristics, is very attractive in the field of wireless communications, digital modulation, shortwave, microwave and satellite communicationsmedium were used. In this paper, the working principle of minimum shift keying modulation and demodulation, and gives the realization of program simulation and simulink system module in the MA TLAB software environment to build in two ways. M language simulation, the main draw a flow chart in accordance with the MSK system works, and finally write the program simulation, and gives each step of the simulation results graphics. Use simulink module of the system construction, the two sub-modules of the system is divided into modulation and demodulation, and then two sub-modules connected into the overall MSK system module for simulation. Finally, the simulation run of the system-wide results and their analysis results.[Key words]MSK; Matlab ;Simulink; Modulation and Demodulation目录引言 (1)1 方案的论证与选择 (3)1.1 基于SystemView的设计 (3)1.2 基于Matlab的设计 (3)1.3 基于FPGA的设计 (3)1.4 方案选择 (4)2 MSK信号调制解调原理 (5)2.1 MSK的特点 (5)2.2 MSK的调制原理 (5)2.3 MSK的解调原理 (10)2.4 MSK的性能分析 (11)3 基于Matlab的MSK调制解调系统的设计 (13)3.1 Matlab中的m语言和Simulink简介 (13)3.2 运用m语言设计MSK调制解调系统 (14)3.2.1运用m语言设计的流程图 (14)3.2.2测试结果及分析 (15)3.3运用Simulink设计MSK调制解调系统 (18)3.3.1 Simulink MSK调制模块设计 (18)3.3.2 Simulink MSK解调模块设计 (19)3.3.3 测试波形分析 (21)结束语 (25)致谢 (26)参考文献 (27)附录A 英文文献原文 (28)附录B 英文文献译文 (38)附录C m程序 (49)引言随着经济的发展,人们对通信系统的需求越来越来高。
MSK调制解调
MSK调制解调一、实验目的1、掌握MSK的调制解调原理2、掌握MSK的软件仿真方法3、掌握MSK的硬件设计方法二、实训原理三、实训内容1、用matalb中的simulink对MSK进行软件仿真,绘制MSK的波形图。
2、在Quatms中分别对MSK的进行仿真,实现差分编码和串并转换。
3、操作键盘,选择菜单“调制解调”“MSK调制”“输入码字”使系统处于MSK调制解调下,基带信号选择00001110。
4、用测试先把实验箱的测试孔和示波器探头连接起来,分别测量TP601和TP602。
在示波器上观察IQ路输出调制的输出波形,I路和Q路的调制输出如下图所示。
5、换几组数据重复上诉步骤。
6、同时用示波器测量TP610,观察解调输出波形是否和基带信号一致。
四、实训总结通过这次实训我基本了解了MSK的原理方法,弥补了以前学习中的漏洞。
π/4DQPSK调制解调一、实验目的1、掌握π/4DQPSK的调制解调原理2、掌握π/4DQPSK的软件仿真方法3、掌握π/4DQPSK的硬件设计方法二、实训原理三、实训内容1、用matalb中的simulink对MSK进行软件仿真,绘制π/4DQPSK 的波形图。
2、在Quatms中分别对MSK的进行仿真,实现差分编码和串并转换。
3、操作键盘,选择菜单“调制解调”“π/4DQPSK调制”“输入码字”使系统处于π/4DQPSK调制解调下,基带信号选择00001110。
4、用测试先把实验箱的测试孔和示波器探头连接起来,分别测量TP601和TP602。
在示波器上观察IQ路输出调制的输出波形,I路和Q路的调制输出如下图所示。
5、换几组数据重复上诉步骤。
6、同时用示波器测量TP610,观察解调输出波形是否和基带信号一致。
四、实训总结通过这次实训我基本了解了π/4DQPSK的原理方法,弥补了以前学习中的漏洞。
QSPK调制解调一、实验目的1、掌握QSPK的调制解调原理2、掌握QSPK的软件仿真方法3、掌握QSPK的硬件设计方法二、实训原理三、实训内容1、用matalb中的simulink对QSPK进行软件仿真,绘制MSK的波形图。
实验十二 MSK调制与解调
图11抽样判决
并/串转换模块由3个Simulink模块组成,如图12所示。矩阵合并模块将I路和Q路的数据流合并为 矩阵数据流;帧状态转换器给矩阵中的两个元素赋予不同的时间意义,即将这两个元素视为对同一信号的相邻时刻的两次采样;最后通过解缓存模块将 矩阵(并行)数据流转换为串行输出。
图12并/串转换
8. 实验结果
图9正交调制
(2)MSK解调的关键子模块
积分器的模型结构如图(10)所示。积分前的延时模块将I、Q两路信号做适当的延迟,使I、Q两路的码元边界对齐2nTb(n为整数)时间点;脉冲发生器的作用是周期性地(在2nTb时间点上)产生积分器的复位脉冲;积分器在复位脉冲的控制下以2Tb为积分周期对码元进行时间积分。
图5 MSK解调仿真模型结构图
数据记录和数据处理(包括列出必要的算式和误差处理):
1.打开matlab应用软件,如图6所示。
2.在图6中右边的命令窗(Command Window)的光标处输入:simulink,回车。
图6Matlab界面
3.在图6中,选择:File>New>Model新建文件,保存在matlab工作目录下,并取名
2. 实验方案设计
本实验的仿真模型文件是msk.mdl,打开msk.mdl可以看到仿真模型分为两个主要部分:MSK调制和解调。
1)MSK调制
MSK调制的仿真模型结构如图4所示,该模型用I-Q正交形式实现了MSK信号的调制。首先由随机整数发生器产生随机的{0,1}序列,然后进行差分编码(为了有更多的连续信号),并转化为{-1,+1}的序列;接着经过串/并转换转化为I、Q两路信号,其中Q路信号要经过额外的Tb时间的延迟;然后I、Q两路分别进行正交幅度调制,最后两路信号相加即得到MSK信号。仿真中随机{0,1}序列的发生周期是1ms,即Tb=1ms。
msk解调原理
msk解调原理宝子们!今天咱们来唠唠MSK解调这个超有趣的事儿。
MSK呢,就是最小频移键控,这名字听起来是不是有点高大上?其实呀,它的解调原理也没有那么神秘莫测啦。
咱先从信号的接收说起。
当接收到MSK信号的时候,就像是收到了一个带着神秘密码的包裹。
这个信号呀,在频域和时域上都有它独特的表现呢。
在时域里,它的波形就像一个有着特殊韵律的小舞蹈。
这个波形可不是乱蹦跶的,它是按照一定的规则来的。
那怎么从这个收到的信号里把有用的信息提取出来呢?这就像是从一个装满杂物的盒子里找到那颗最闪亮的宝石。
MSK信号是一种相位连续的频移键控信号。
这相位连续可太重要啦,就好比你在走路的时候,脚步是连贯的,不能突然断档。
在解调的时候,我们要利用这个相位连续的特性。
想象一下,信号就像一列火车,它的相位就是火车行驶的轨迹。
我们得跟着这个轨迹去找到它要传达的信息。
在解调器里,有一个本地振荡器,这个振荡器就像是一个小跟班,它要努力和接收到的信号频率同步。
就好像两个人跳舞,要踩在同一个节奏上。
如果这个小跟班的频率和接收到的信号频率对上了,那就像是找到了打开宝藏的钥匙。
当本地振荡器和接收信号频率对上之后呢,就可以通过一些数学魔法啦。
这里面涉及到一些三角函数的运算,不过咱别怕,就把它当成是一种特殊的游戏规则。
通过这些运算,我们就能把隐藏在信号里的数字信息给揪出来。
比如说,如果信号的某个特征表示“1”,另一个特征就表示“0”。
这就像是摩斯密码一样,只不过是用MSK 信号的方式来表示的。
而且呀,在这个解调的过程中,噪声是个很讨厌的小怪兽。
它总是想捣乱,让我们不能准确地解调出信号。
但是呢,MSK信号因为它自身的一些特性,有一定的抗噪声能力。
就像我们穿了一件有魔法的盔甲,可以抵御一部分噪声小怪兽的攻击。
这是因为MSK信号的相位连续和它的频率间隔设置得很巧妙,使得它在有噪声干扰的情况下,还能比较稳定地传输信息。
再说说这个解调器的内部结构吧。
里面有好多小部件呢,每个小部件都像是一个小助手。
实验四 MSK调制解调实验 实验五 GMSK调制解调实验
实验四 MSK 调制解调实验一.实验目的1. 了解MSK 调制和解调的基本原理; 2.熟悉软件完成MSK 的过程。
二.实验内容1.熟悉MSK 调制和解调过程; 2.通过示波器测试MSK 各点的波形;3*.设计通过DSP 程序完成MSK 的程序,加强对MSK 的理解。
三.实验原理当信道中存在非线性的问题和带宽限制时,幅度变化的数字信号通过信道会使己滤除的带外频率分量恢复,发生频谱扩展现象,同时还要满足频率资源限制的要求。
因此,对己调信号有两点要求,一是要求包络恒定;二是具有最小功率谱占用率。
因此,现代数字调制技术的发展方向是最小功率谱占有率的恒包络数字调制技术。
现代数字调制技术的关键在于相位变化的连续性,从而减少频率占用。
MSK (最小频移键控)是移频键控FSK 的一种改进形式。
在FSK 方式中,每一码元的频率不变或者跳变一个固定值,而两个相邻的频率跳变码元信号,其相位通常是不连续的。
所谓MSK 方式,就是FSK 信号的相位始终保持连续变化的一种特殊方式。
可以看成是调制指数为0.5的一种连续相位的FSK 信号。
其主要特点是包络恒定,带外辐射小,实现较简单。
其数学表达式为:()cos()2c kn nbS t t a t T πωφ=++∑式中,T b 为码元的宽度,a n 为+1,-1。
n φ是第n 个码元的初始相位,并且⎩⎨⎧≠±==---111n n n n n n n a a n a a πφφφ当输入+1时,发送的角频率为:2c bT πω+。
当输入-1时,发送的角频率为:2c bT πω-。
在一个码元内相位增加π/2或者减小π/2,所以相位的变换是连续的。
图4-11-1给出一种MSK 调制信号产生的方法。
图4-11-1 MSK 的调制框图实现MSK 调制的过程为:先将输入的基带信号将其分成I 、Q 两路,并互相交错一个码元宽度,再用加权函数cos()2bt T π和sin()2bt T π分别对I 、Q 两路数据加权,最后将两路数据分别用正交载波调制。
msk调制解调课程设计
msk调制解调课程设计MSK(Minimum Shift Keying)调制解调课程设计通常涵盖以下步骤:1. 理解MSK 调制原理:MSK 是一种数字调制方式,它使用二进制相位调制和频率调制。
理解MSK 的调制原理是设计的基础。
2. 设计MSK 调制器:根据MSK 的原理,设计一个能够将二进制数据转换为MSK 信号的调制器。
这通常涉及到采样率、频率偏移、相位偏移等参数的设置。
3. 设计MSK 解调器:解调器的设计需要考虑到MSK 信号的特性,如相位连续性和频谱特性。
解调器的设计也需要考虑到信道噪声和其他干扰因素。
4. 编写代码实现调制解调器:使用编程语言(如Python、C++ 等)实现调制解调器的功能。
在实现过程中,需要注意信号处理的精度和实时性要求。
5. 测试和验证:通过仿真或实际测试来验证调制解调器的性能。
测试数据可以是随机二进制数据或实际应用中的数据。
测试结果应该能够证明设计的正确性和有效性。
6. 总结和报告:在完成设计后,编写一份报告总结课程设计的步骤、方法和结果。
报告应该清晰地阐述设计的思路、方法、实现和测试过程,以及遇到的问题和解决方法。
在设计MSK 调制解调器时,还需要注意以下几点:•理解MSK 的优点和局限性:MSK 具有较高的频谱利用率和抗干扰能力,但同时也存在对相位和频率偏移敏感的问题。
在设计时需要考虑这些因素,并采取相应的措施。
•考虑实际应用场景:在设计时需要考虑实际应用场景的信道特性和干扰情况。
例如,在无线通信中,信道噪声和多径干扰是常见的问题,需要在设计时加以考虑。
•优化性能和资源占用:在实现调制解调器时,需要考虑性能和资源占用的优化。
这可能涉及到算法优化、硬件资源优化等方面。
•注意安全性和可靠性:在某些应用场景中,安全性和可靠性是非常重要的。
在设计时需要考虑加密、错误检测和纠正等技术来提高系统的安全性和可靠性。
msk的调制解调MATLAB源代码备课讲稿
msk的调制解调MATLAB源代码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);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%************************************************************************* *function [signal_out,I_out,Q_out] =mod_msk(data,data_len,sample_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*sample_number; %采样速率%--------------------------------------------------------------------------%差分编码[data_diff] = difference(data);%**************************************************************************%--------------------------------------------------------------------------%并串转换,延时I(1) = 1; %fai0 = 0,cos(fai0) = 1for i = 1:2:data_lenQ(i) = data_diff(i);Q(i+1) = data_diff(i);endfor i = 2:2:data_lenI(i+1) = data_diff(i);I(i) = data_diff(i);endfor i = 1:sample_numberI1(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;%************************************************************************* *% %--------------------------------------------------------------------------% %画图% subplot(221)% plot(data,'.-');title('MSK传输的数据');xlabel('时间');ylabel('幅度') % subplot(222)% plot(data_diff,'.-');title('差分后的数据');xlabel('时间');ylabel('幅度') % subplot(223)% plot(I1,'.-');title('加权前I路');xlabel('时间');ylabel('幅度');% subplot(224)% plot(Q1,'.-');title('加权前Q路');xlabel('时间');ylabel('幅度');%% 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('加权后Q路');xlabel('时间');ylabel('幅度');% %********************************************************************** ****function [signal_out,I_out,Q_out,phase] =mod_msk2(data,data_len,sample_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*sample_number; %采样速率%--------------------------------------------------------------------------%采样for i = 1:sample_numberdata_sample(i:sample_number:data_len*sample_number) = data;end%************************************************************************* *%--------------------------------------------------------------------------%计算相位phase = zeros(1,data_len*sample_number);phase(1) = data_sample(1) * pi/2/sample_number;for i = 2:data_len*sample_numberphase(i) = phase(i-1) + data_sample(i-1) * pi/2/sample_number; end%************************************************************************* *%--------------------------------------------------------------------------%I/QI_out = cos(phase);Q_out = sin(phase);%************************************************************************* *%--------------------------------------------------------------------------%调制信号产生signal_out = I_out + j*Q_out;%************************************************************************* *%MSK调制,差分解调方法一clear allclose all%--------------------------------------------------------------------------%参数设置data_len = 10000; %码元个数sample_number = 8; %采样个数Rb = 24000; %码元速率fc = 96000; %载波频率%************************************************************************* *%--------------------------------------------------------------------------%随机产生传输信号data=rand_binary(data_len);%************************************************************************* *%--------------------------------------------------------------------------%MSK基带调制[signal_out,I_out,Q_out] =mod_msk(data,data_len,sample_number,Rb);%************************************************************************* *%--------------------------------------------------------------------------%中频搬移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_temp.*sin(2*pi*fc*t);%************************************************************************* *%--------------------------------------------------------------------------%加噪声for SNR = 0:8signal_mod1 = 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;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;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_dem_out)I_dem_out(i)=I_dem(multi*(i-1)+1);Q_dem_out(i)=Q_dem(multi*(i-1)+1);end;%********************************************************************** ****%--------------------------------------------------------------------------%差分解调demod_data = zeros(1,data_len);demod_data(1) = Q_dem_out(sample_number);for i = 2:data_lendemod_data(i) =Q_dem_out(i*sample_number)*I_dem_out((i-1)*sample_number) - I_dem_out(i*sample_number)*Q_dem_out((i-1)*sample_number);end%********************************************************************** ****%--------------------------------------------------------------------------%判决demod_data = demod_data>0;demod_data = 2*demod_data-1;%********************************************************************** ****%--------------------------------------------------------------------------%计算误码率[num,ber(SNR+1)]=symerr(demod_data,data);%********************************************************************** ****end%************************************************************************* *%--------------------------------------------------------------------------%误码率曲线semilogy([0:8],ber,'r*-');%************************************************************************* *%--------------------------------------------------------------------------%误码率理论值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);endhold onsemilogy([0:.1:8],pe);%************************************************************************* *%MSK调制,差分解调方法二clear allclose all%--------------------------------------------------------------------------%参数设置data_len = 10000; %码元个数sample_number = 8; %采样个数Rb = 24000; %码元速率fc = 96000; %载波频率%************************************************************************* *%--------------------------------------------------------------------------%随机产生传输信号data=rand_binary(data_len);%*************************************************************************%--------------------------------------------------------------------------%MSK基带调制[signal_out,I_out,Q_out] =mod_msk(data,data_len,sample_number,Rb);%************************************************************************* *%--------------------------------------------------------------------------%中频搬移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_temp.*sin(2*pi*fc*t);%************************************************************************* *%--------------------------------------------------------------------------%加噪声for SNR = 0:8signal_mod1 = 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;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;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_dem_out)I_dem_out(i)=I_dem(multi*(i-1)+1);Q_dem_out(i)=Q_dem(multi*(i-1)+1);end;%********************************************************************** ****%--------------------------------------------------------------------------%差分解调demod_data = zeros(1,data_len);demod_data(1) = Q_dem_out(sample_number);for i = 2:2:data_lendemod_data(i) =-I_dem_out(i*sample_number)*Q_dem_out((i-1)*sample_number);endfor i = 3:2:data_lendemod_data(i) =Q_dem_out(i*sample_number)*I_dem_out((i-1)*sample_number);end%********************************************************************** ****%--------------------------------------------------------------------------%判决demod_data = demod_data>0;demod_data = 2*demod_data-1;%********************************************************************** ****%--------------------------------------------------------------------------%计算误码率[num,ber(SNR+1)]=symerr(demod_data,data);%********************************************************************** ****end%************************************************************************* *%--------------------------------------------------------------------------%误码率曲线semilogy([0:8],ber,'r*');%************************************************************************* *%--------------------------------------------------------------------------%误码率理论值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);endhold onsemilogy([0:.1:8],pe);%************************************************************************* *%MSK调制,解调clear allclose all%--------------------------------------------------------------------------%参数设置data_len = 30000; %码元个数sample_number = 8; %采样个数Rb = 24000; %码元速率fc = 96000; %载波频率%************************************************************************* *%--------------------------------------------------------------------------%随机产生传输信号data = rand_binary(data_len);%************************************************************************* *%--------------------------------------------------------------------------%MSK基带调制[signal_out,I_out,Q_out] =mod_msk(data,data_len,sample_number,Rb);%************************************************************************* *%--------------------------------------------------------------------------%中频搬移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_temp.*sin(2*pi*fc*t);% signal_mod1=real((I_temp+j*Q_temp).*exp(j*2*pi*fc*t));%************************************************************************* *%--------------------------------------------------------------------------%加噪声for SNR = 0:8signal_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 .* 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_dem_out)I_dem_out(i)=I_dem(multi*(i-1)+1);Q_dem_out(i)=Q_dem(multi*(i-1)+1);end;%********************************************************************** ****%--------------------------------------------------------------------------%解调,判决demod_data = zeros(1,data_len);for i = 1:data_lenI_dem1(i) = I_dem_out(i*sample_number)>0;Q_dem1(i) = Q_dem_out(i*sample_number)>0;endfor i = 1:2:data_lenm1(i) = Q_dem1(i);endfor i = 2:2:data_lenm1(i) = I_dem1(i);endm1 = 2*m1-1;%********************************************************************** ****%--------------------------------------------------------------------------%差分解码demod_data = zeros(1,data_len);demod_data(1) = 1 * m1(1);for i = 2:data_lendemod_data(i) = m1(i-1) * m1(i);end%********************************************************************** ****%--------------------------------------------------------------------------%计算误码率[num,ber(SNR+1)]=symerr(demod_data,data);%********************************************************************** ****end % /for snr%************************************************************************* *%--------------------------------------------------------------------------%误码率曲线semilogy([0:8],ber,'r*-');%************************************************************************* *%--------------------------------------------------------------------------%误码率理论值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);endhold onsemilogy([0:.1:8],pe);%************************************************************************* *function [data_binary,data_binary1]=rand_binary(data_len);%随机产生一个二进制序列作为仿真用的消息序列%************************************************************************* *%data 序列长度%data_binary 产生的二进制序列%************************************************************************* *%--------------------------------------------------------------------------data1=randn(1,data_len);data_binary=zeros(1,data_len);data_binary1=zeros(1,data_len);for i=1:data_lenif data1(i)<0data_binary(i)=-1;data_binary1(i)=0;elsedata_binary(i)=1;data_binary1(i)=1;endend。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MSK信号的解调
由于MSK信号是最小二进制FSK信号,所以它可以采用解调FSK信号的相干法和非相干法解调。
图2-3是MSK信号的解调原理框图。
图2-3 MSK信号的解调原理图
4.2.2MSK仿真实现过程
1.3设计步骤
先定义MSK输入信号的参数然后用dmod函数做输入的调制,之后画相应的频谱图。再用dedmod做解调输出。然后加入噪声,再进行解调输出。
z=ddemod(y,Fc,Fd,Fs,'msk'); %对调制后的MSK信号进行解调
图3-2MSK信号的解调波形
由解调信号的时域波形可以看出,解调后的波形与原始输入信号的波形完全一致。同时不难发现解调后的信号很稳定。
n1=1:1:length(y);w=[0:1:1000]*pi/500;
n00;%定义频域参数n1为y的长度,n2为输入原始信号的长度
图3-1MSK调制信号的波形
由调制波形图可以看出MSK的调制信号特性与2FSK调制信号的特性非常的相似,即:当输入信号为“1”时,调制后的波形比输入信号为“0”时的波形要密。同时MSK信号的包络是恒定的,相位则是连续的。带宽相对于一般的2FSK信号要小,而且正交。
MSK解调实现
由于MSK信号是最小二进制FSK信号,所以它可以采用解调FSK信号的相干法和非相干法解调。
1.定义载波频率Fs,输出信号频率Fd,采样频率Fs。
2.设置输入信号X,同时做信号的调制。
3.画出相应的波形图。
4.做输出信号的解调波形,同时画解调波形图。
5.加入高斯白噪声。再进行信号的解调输出,画相应的波形。
6.对结果进行比较分析。
MSK信号的产生
因为MSK信号可以用两个正交的分量表示:
(k-1)Ts<t≤kTs
Y=y*exp(-j*n1'*w); %对已调信号进行DTFT变换
Z=z*exp(-j*n2'*w); %对解调信号进行DTFT变换
magY=abs(Y);
magZ=abs(Z);
图3-3MSK信号解调前后的频域波形
由解调后的频域波形可以看出MSK信号的稳定性很好,说明MSK信号的抗噪声性能很强。
图3-4调制前解调后的频域波形
式中:右端第1项称作同相分量,其载波为 ;第2项称作正交分量,其载波为 。
在仿真时先设置输入信号的参数:载波频率Fc调制后,数字信号速率Fd,模拟信号采样率Fs。之后产生要调制的随机数字信号x;然后用dmod函数进行调制,产生调制信号。dmod函数是MATLAB中一个常用来进行信号调制的函数,它后面的参数包括被调制信号,载波信号的频率,输出信号的速率以及采样速率和所进行调制的函数。
式(2-1)可以用频率为 的两个正交分量表示。将式(2-1)进行三角公式变换,得到:
(3-1)
式中, (3-2)
式(2-2)表示,此MSK信号可以分解为同相分量(I)和正交分量(Q)两部分。
MSK信号的调制
由式(2-2)可知,MSK信号可以用两个正交的分量表示。根据该式构成的MSK信号的产生方框图如图2-2所示。
MSK调制解调实现
4.2最小频率键控(MSK)
4.2.1MSK基本原理
MSK信号是一种相位连续、包络恒定并且占用带宽最小的二进制正交FSK信号。它的第k个码元可以表示为:
(2-1)
式中, 为视在角载频; ;T为第k个码元确定的初始相位。
由上式可以看出,当 时,码元频率 等于 ;当 时,码元频率 等于 。故 和 的距离等于 。这是2FSK信号最小频率间隔。
图3-5信噪比为0.001的MSK信号加噪声解调前后的时域波形
图3-6信噪比为1的MSK信号加噪声解调前后的时域波形
通过调制前和解调后的频域波形比较,发现解调非常的成功,波形被完整无误的输出来。
叠加噪声的MSK解调
由于信号在传输的过程中难免要受到外来噪声的影响,所以在进行通信仿真时务必要在理想的模拟通信系统中加入高斯白噪声对系统进行影响,以此来判断一个通信系统抗噪声性能的好坏。
利用awagn函数对已调信号加入信噪比为0.001的高斯白噪声。然后对加入了噪声的已调信号进行解调,同时画出其时域与频域的波形,将其与没有加噪声的调制信号进行比较,不难发现:加入噪声后对已调信号的影响很大,但对解调信号而言,噪声对解调后的影响还是有一定限度的。这说明MSK解调系统的抗噪声性能很强。
在进行程序仿真时,用ddemod函数进行调制信号的解调。同时画出解调前后的时域与频域的波形图。在画频域的波形图时先对已调信号与解调信号进行DTFT变换,之后画出相应的波形。ddemod函数是与dmod函数相对应,用来对已调信号进行解调的。其后面的参数与dmod函数后的一模一样。
部分程序与仿真波形图如下所示:
仿真的部分程序与相应的仿真波形图如下所示:
y1=awgn(y,0.001);%对已调信号加入高斯白噪声
z1=ddemod(y,Fc,Fd,Fs,'msk');%对加入高斯白噪声的调制信号进行解调
[num1,ratio1]=symerr(x,z2)%对加入噪声后解调的信号进行误码率的测定
通过symerr函数对解调信号的误码率进行测定,得到的误码率为0.0024.因为输入的随机序列长度为10000,错了24个。说明MSK信号的抗噪声性能很强。当将信噪比变为1时,输出的误码率很快发生了变化,由原来的0.0024变为了6.0000e-004.图形也同时发生了变化。通过图形的比较,可以发现噪声对调制信号的影响很大,但通过解调后影响相对减小了很多。
部分程序代码和仿真图如下所示:
M=2; %定义输入随机信号的参数
Fc=20; %载波信号的频率Fc为20;
Fd=10; %输出信号的速率Fd为10;
Fs=200; %采样速率Fs为200;
x=randint(1,10000);%产生随机的输入序列
y=dmod(x,Fc,Fd,Fs,'msk');%对用dnod函数对输入的随机序列进行调制