前言
MSK解调 M序列相关 峰值检测 抽样判决 RS解码 等流程记录
一、MSK解调
MSK信号调制好后表达式如下所示:
S
M
S
K
(
t
)
=
cos
(
ω
c
t
+
π
a
k
2
T
s
t
+
φ
k
)
,
(
k
−
1
)
T
s
≤
t
≤
k
T
s
,
k
=
1
,
2
,
3
,
⋯
⋯
S_{M S K}(t)=\cos \left(\omega_{c} t+\frac{\pi a_{k}}{2 T_{s}} t+\varphi_{k}\right),(k-1) T_{s} \leq t \leq k T_{s}, k=1,2,3, \cdots \cdots
SMSK(t)=cos(ωct+2Tsπakt+φk),(k−1)Ts≤t≤kTs,k=1,2,3,⋯⋯
在移动或是室内的无线通信中,由多径引起的衰落将使相干解调的性能严重下降,误码率随之上升。此时,非相干解调更为合适。同时非相干解调结构简单,不需要载波同步,也不需要频偏、相偏的估计补偿,易于实现,后续采用非相干解调。
与I路本地载波相乘得(存在相偏):
S
M
S
K
(
t
)
cos
(
ω
c
t
+
ψ
)
=
cos
(
ω
c
t
+
π
t
2
T
s
a
k
+
φ
k
)
cos
(
ω
c
t
+
ψ
)
=
1
2
cos
(
2
ω
c
t
+
π
t
2
T
s
a
k
+
φ
k
+
ψ
)
+
1
2
cos
(
π
t
2
T
s
a
k
+
φ
k
−
ψ
)
S_{M S K}(t) \cos \left(\omega_{c} t+\psi\right)=\cos \left(\omega_{c} t+\frac{\pi t}{2 T_{s}} a_{k}+\varphi_{k}\right) \cos \left(\omega_{c} t+\psi\right) \\ =\frac{1}{2} \cos \left(2 \omega_{c} t+\frac{\pi t}{2 T_{s}} a_{k}+\varphi_{k}+\psi\right)+\frac{1}{2} \cos \left(\frac{\pi t}{2 T_{s}} a_{k}+\varphi_{k}-\psi\right)
SMSK(t)cos(ωct+ψ)=cos(ωct+2Tsπtak+φk)cos(ωct+ψ)=21cos(2ωct+2Tsπtak+φk+ψ)+21cos(2Tsπtak+φk−ψ)
与Q路本地载波相乘得(存在相偏):
S
M
S
K
(
t
)
(
−
sin
(
ω
c
t
+
ψ
)
)
=
cos
(
ω
c
t
+
π
t
2
T
s
a
k
+
φ
k
)
(
−
sin
(
ω
c
t
+
ψ
)
)
=
1
2
sin
(
π
t
2
T
s
a
k
+
φ
k
−
ψ
)
−
1
2
sin
(
2
ω
c
t
+
π
t
2
T
s
a
k
+
φ
k
+
ψ
)
S_{M S K}(t)\left(-\sin \left(\omega_{c} t+\psi\right)\right)=\cos \left(\omega_{c} t+\frac{\pi t}{2 T_{s}} a_{k}+\varphi_{k}\right)\left(-\sin \left(\omega_{c} t+\psi\right)\right) \\ =\frac{1}{2} \sin \left(\frac{\pi t}{2 T_{s}} a_{k}+\varphi_{k}-\psi\right)-\frac{1}{2} \sin \left(2 \omega_{c} t+\frac{\pi t}{2 T_{s}} a_{k}+\varphi_{k}+\psi\right)
SMSK(t)(−sin(ωct+ψ))=cos(ωct+2Tsπtak+φk)(−sin(ωct+ψ))=21sin(2Tsπtak+φk−ψ)−21sin(2ωct+2Tsπtak+φk+ψ)
抽取滤波,通过CIC抽取滤波器,滤除高频信号,同时对数据进行降采样:
Y
1
=
1
2
cos
(
π
t
2
T
s
a
k
+
φ
k
−
ψ
)
Y
2
=
1
2
sin
(
π
t
2
T
s
a
k
+
φ
k
−
ψ
)
Y_{1}=\frac{1}{2} \cos \left(\frac{\pi t}{2 T_{s}} a_{k}+\varphi_{k}-\psi\right) \\ Y_{2}=\frac{1}{2} \sin \left(\frac{\pi t}{2 T_{s}} a_{k}+\varphi_{k}-\psi\right)
Y1=21cos(2Tsπtak+φk−ψ)Y2=21sin(2Tsπtak+φk−ψ)
Y1和Y2构成的基带信号分别与f1和f2两个正交基函数在一个符号时间内作相关运算:
∫
0
T
s
(
(
Y
1
+
j
Y
2
)
⋅
f
1
)
d
t
∫
0
T
s
(
(
Y
1
+
j
Y
2
)
⋅
f
2
)
d
t
\int_{0}^{T_{s}}\left(\left(Y_{1}+j Y_{2}\right) \cdot f_{1}\right) d t \\ \int_{0}^{T_{s}}\left(\left(Y_{1}+j Y_{2}\right) \cdot f_{2}\right) d t
∫0Ts((Y1+jY2)⋅f1)dt∫0Ts((Y1+jY2)⋅f2)dt
其中f1和f2为:
f 1 = e j ( π t 2 T s + θ ) f 2 = e − j ( π t 2 T s + θ ) f_{1}=e^{j\left(\frac{\pi t} {2 T_{s}}+\theta \right)}\\ f_{2}=e^{-j\left(\frac{\pi t}{2 T_{s}}+\theta \right)} f1=ej(2Tsπt+θ)f2=e−j(2Tsπt+θ)
Y
1
+
j
Y
2
与
f
1
做相关
,
f
1
中的
θ
是一个常量,将其归到基带信号的
ψ
中,后续不显示了,没什么影响
:
∫
0
T
s
(
(
Y
1
+
j
Y
2
)
⋅
f
1
)
d
t
=
∫
0
T
s
(
e
j
(
π
t
2
T
s
a
k
+
φ
k
−
ψ
)
⋅
e
j
π
t
2
T
s
)
d
t
=
∫
0
T
s
(
e
j
(
π
t
2
T
s
(
a
k
+
1
)
+
φ
k
−
ψ
)
)
d
t
Y_{1}+j Y_{2} 与 f_{1} 做相关,f_{1}中的 \theta 是一个常量,将其归到基带信号的\psi中,后续不显示了,没什么影响: \\ \int_{0}^{T_{s}}\left(\left(Y_{1}+j Y_{2}\right) \cdot f_{1}\right) d t=\int_{0}^{T_{s}}\left(e^{j\left(\frac{\pi t}{2 T_{s}} a_{k}+\varphi_{k}-\psi\right)} \cdot e^{j \frac{\pi t}{2 T_{s}}}\right) d t=\int_{0}^{T_{s}}\left(e^{j\left(\frac{\pi t}{2 T_{s}}\left(a_{k}+1\right)+\varphi_{k}-\psi\right)}\right) d t
Y1+jY2与f1做相关,f1中的θ是一个常量,将其归到基带信号的ψ中,后续不显示了,没什么影响:∫0Ts((Y1+jY2)⋅f1)dt=∫0Ts(ej(2Tsπtak+φk−ψ)⋅ej2Tsπt)dt=∫0Ts(ej(2Tsπt(ak+1)+φk−ψ))dt
Y
1
+
j
Y
2
与
f
2
做相相关
,
f
2
中的
θ
是一个常量,将其归到基带信号的
ψ
中,后续不显示了,没什么影响
:
∫
0
T
s
(
(
Y
1
+
j
Y
2
)
⋅
f
2
)
d
t
=
∫
0
T
s
(
e
j
(
π
t
2
T
s
a
k
+
φ
k
−
ψ
)
⋅
e
−
j
π
t
2
T
s
)
d
t
=
∫
0
T
s
(
e
j
(
π
t
2
T
s
(
a
k
−
1
)
+
φ
k
−
ψ
)
)
d
t
Y_{1}+j Y_{2} 与 f_{2} 做相相关,f_{2}中的 \theta 是一个常量,将其归到基带信号的\psi中,后续不显示了,没什么影响: \\ \int_{0}^{T_{s}}\left(\left(Y_{1}+j Y_{2}\right) \cdot f_{2}\right) d t=\int_{0}^{T_{s}}\left(e^{j\left(\frac{\pi t}{2 T_{s}} a_{k}+\varphi_{k}-\psi\right)} \cdot e^{-j \frac{\pi t}{2 T_{s}}}\right) d t=\int_{0}^{T_{s}}\left(e^{j\left(\frac{\pi t}{2 T_{s}}\left(a_{k}-1\right)+\varphi_{k}-\psi\right)}\right) d t
Y1+jY2与f2做相相关,f2中的θ是一个常量,将其归到基带信号的ψ中,后续不显示了,没什么影响:∫0Ts((Y1+jY2)⋅f2)dt=∫0Ts(ej(2Tsπtak+φk−ψ)⋅e−j2Tsπt)dt=∫0Ts(ej(2Tsπt(ak−1)+φk−ψ))dt
当 a k = 1 , Y 1 + j Y 2 与 f 1 相关得: ∫ 0 T s ( ( Y 1 + j Y 2 ) ⋅ f 1 ) d t = ∫ 0 T s ( e j ( π t 2 T s ( a k + 1 ) + φ k − ψ ) ) d t = ∫ 0 T s ( e j ( π t T s + φ k − ψ ) ) d t 当 a_{k}=1, \quad Y_{1}+j Y_{2} 与 f_{1} 相关得:\\ \int_{0}^{T_{s}}\left(\left(Y_{1}+j Y_{2}\right) \cdot f_{1}\right) d t=\int_{0}^{T_{s}}\left(e^{j\left(\frac{\pi t}{2 T_{s}}\left(a_{k}+1\right)+\varphi_{k}-\psi\right)}\right) d t=\int_{0}^{T_{s}}\left(e^{j\left(\frac{\pi t}{T_{s}}+\varphi_{k}-\psi\right)}\right) d t 当ak=1,Y1+jY2与f1相关得:∫0Ts((Y1+jY2)⋅f1)dt=∫0Ts(ej(2Tsπt(ak+1)+φk−ψ))dt=∫0Ts(ej(Tsπt+φk−ψ))dt
当 a k = 1 , Y 1 + j Y 2 与 f 2 相关得 : ∫ 0 T s ( ( Y 1 + j Y 2 ) ⋅ f 2 ) d t = ∫ 0 τ s ( e j ( π t 2 τ s ( a k − 1 ) + φ k − ψ ) ) d t = ∫ 0 T s ( e j ( φ k − ψ ) ) d t 当 a_{k}=1, \quad Y_{1}+j Y_{2} 与 f_{2} 相关得 :\\ \int_{0}^{T_{s}}\left(\left(Y_{1}+j Y_{2}\right) \cdot f_{2}\right) d t=\int_{0}^{\tau_{s}}\left(e^{j\left(\frac{\pi t}{2 \tau_{s}}\left(a_{k}-1\right)+\varphi_{k}-\psi\right)}\right) d t=\int_{0}^{T_{s}}\left(e^{j\left(\varphi_{k}-\psi\right)}\right) d t 当ak=1,Y1+jY2与f2相关得:∫0Ts((Y1+jY2)⋅f2)dt=∫0τs(ej(2τsπt(ak−1)+φk−ψ))dt=∫0Ts(ej(φk−ψ))dt
当 a k = − 1 , Y 1 + j Y 2 与 f 1 相关得 : ∫ 0 T s ( ( Y 1 + j Y 2 ) ⋅ f 1 ) d t = ∫ 0 T s ( e j ( π t 2 T S ( a k + 1 ) + φ k − ψ ) ) d t = ∫ 0 τ s ( e j ( φ k − ψ ) ) d t 当 a_{k}=-1, \quad Y_{1}+j Y_{2} 与 f_{1} 相关得 :\\ \int_{0}^{T_{s}}\left(\left(Y_{1}+j Y_{2}\right) \cdot f_{1}\right) d t=\int_{0}^{T_{s}}\left(e^{j\left(\frac{\pi t}{2 T_{S}}\left(a_{k}+1\right)+\varphi_{k}-\psi\right)}\right) d t=\int_{0}^{\tau_{s}}\left(e^{j\left(\varphi_{k}-\psi\right)}\right) d t 当ak=−1,Y1+jY2与f1相关得:∫0Ts((Y1+jY2)⋅f1)dt=∫0Ts(ej(2TSπt(ak+1)+φk−ψ))dt=∫0τs(ej(φk−ψ))dt
当 a k = − 1 , Y 1 + j Y 2 与 f 2 相关得: ∫ 0 τ s ( ( Y 1 + j Y 2 ) ⋅ f 2 ) d t = ∫ 0 τ s ( e j ( π t 2 T s ( a k − 1 ) + φ k − ψ ) ) d t = ∫ 0 T s ( e j ( π t T s + φ k − ψ ) ) d t 当 a_{k}=-1, \quad Y_{1}+j Y_{2} 与 f_{2} 相关得:\\ \int_{0}^{\tau_{s}}\left(\left(Y_{1}+j Y_{2}\right) \cdot f_{2}\right) d t=\int_{0}^{\tau_{s}}\left(e^{j\left(\frac{\pi t}{2 T_{s}}\left(a_{k}-1\right)+\varphi_{k}-\psi\right)}\right) d t=\int_{0}^{T_{s}}\left(e^{j\left(\frac{\pi t}{T_{s}}+\varphi_{k}-\psi\right)}\right) d t 当ak=−1,Y1+jY2与f2相关得:∫0τs((Y1+jY2)⋅f2)dt=∫0τs(ej(2Tsπt(ak−1)+φk−ψ))dt=∫0Ts(ej(Tsπt+φk−ψ))dt
————————————————————————————————————————————————————————
即最终都为求两个积分:
∫ 0 T s e j ( φ k − ψ ) d t = T s ⋅ e j ( φ k − ψ ) ∫ 0 T s e j ( π t T s + φ k − ψ ) d t = e j ( φ k − ψ ) ∫ 0 τ s e j π t T s d t = e j ( φ k − ψ ) ⋅ T s j π ⋅ ∫ 0 τ s e j π t T s d j π T s t = e j ( φ k − ψ ) ⋅ T s j π ⋅ e j π t T s ∣ 0 T s = j 2 π ⋅ T s ⋅ e j ( φ k − ψ ) \int_{0}^{T_{s}} e^{j\left(\varphi_{k}-\psi\right)} d t=T_{s} \cdot e^{j\left(\varphi_{k}-\psi\right)} \\ \int_{0}^{T_{s}} e^{j\left(\frac{\pi t}{T_{s}}+\varphi_{k}-\psi\right)} d t=e^{j\left(\varphi_{k}-\psi\right)} \int_{0}^{\tau_{s}} e^{j \frac{\pi t}{T_{s}}} d t=e^{j\left(\varphi_{k}-\psi\right)} \cdot \frac{T_{s}}{j \pi} \cdot \int_{0}^{\tau_{s}} e^{j \frac{\pi t}{T_{s}}} d \frac{j \pi}{T_{s}} t \\ =\left.e^{j\left(\varphi_{k}-\psi\right)} \cdot \frac{T_{s}}{j \pi} \cdot e^{j \frac{\pi t}{T_{s}}}\right|_{0} ^{T_{s}}=\frac{j 2}{\pi} \cdot T_{s} \cdot e^{j\left(\varphi_{k}-\psi\right)} ∫0Tsej(φk−ψ)dt=Ts⋅ej(φk−ψ)∫0Tsej(Tsπt+φk−ψ)dt=ej(φk−ψ)∫0τsejTsπtdt=ej(φk−ψ)⋅jπTs⋅∫0τsejTsπtdTsjπt=ej(φk−ψ)⋅jπTs⋅ejTsπt 0Ts=πj2⋅Ts⋅ej(φk−ψ)
再进行一定的处理后,根据Y1和Y2可得
由于主要依据接收信号的包络信息进行符号判决,因而该解调算法具有较好的抗相差性能,对信号的适应性强,对载频差要求不严格。
二、突发捕获
在蓝线处抽样判决即可得到ak,但先需要通过m序列准确地检测到信号的起始时刻,才能进行后续处理。利用m序列良好的自相关特性,与本地码做相关运算
峰值检测,结果与门限相比较,即可作出判决(门限由阈值和前128个数据的平均值共同得到)
三、抽样判决
检测到m序列峰值后,在每一码元的结束时刻进行抽样判决,每组好 1 byte数据,标志位 rdy 有效(拉高),然后将8 bit 数据放入RAM中,为后续RS解码做准备。
突发捕获和抽样判决整体如下所示:
四、RS解码
当组完设定的255 byte 后,结束标志位有效,启动RS解码。
当接收数据未出错时,RS解码数据完全正确,RS解码时序如下,Latency为2606,时钟周期20ns,2606*20ns=52.12us
接收局部数据如下:
RS解码后局部数据如下:
当接收数据出现错误时(RS(255,191),共191个数据,从191数据后为255-191个校验码,第190个数应该是190,现为142),RS解码时将数据纠正回来
当接收数据中校验数据出现错误时(RS(255,191),共191个数据,从191数据后为255-191个校验码,第2个校验数应该是5,现为140),RS解码时也可以将数据纠正