前言
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}
ight),(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
ight)=cos left(omega_{c} t+frac{pi t}{2 T_{s}} a_{k}+varphi_{k}
ight) cos left(omega_{c} t+psi
ight) \ =frac{1}{2} cos left(2 omega_{c} t+frac{pi t}{2 T_{s}} a_{k}+varphi_{k}+psi
ight)+frac{1}{2} cos left(frac{pi t}{2 T_{s}} a_{k}+varphi_{k}-psi
ight)
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
ight)
ight)=cos left(omega_{c} t+frac{pi t}{2 T_{s}} a_{k}+varphi_{k}
ight)left(-sin left(omega_{c} t+psi
ight)
ight) \ =frac{1}{2} sin left(frac{pi t}{2 T_{s}} a_{k}+varphi_{k}-psi
ight)-frac{1}{2} sin left(2 omega_{c} t+frac{pi t}{2 T_{s}} a_{k}+varphi_{k}+psi
ight)
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
ight) \ Y_{2}=frac{1}{2} sin left(frac{pi t}{2 T_{s}} a_{k}+varphi_{k}-psi
ight)
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}
ight) cdot f_{1}
ight) d t \ int_{0}^{T_{s}}left(left(Y_{1}+j Y_{2}
ight) cdot f_{2}
ight) 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^{jleft(frac{pi t} {2 T_{s}}+ heta ight)}\ f_{2}=e^{-jleft(frac{pi t}{2 T_{s}}+ heta ight)} 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}中的 heta 是一个常量,将其归到基带信号的psi中,后续不显示了,没什么影响: \ int_{0}^{T_{s}}left(left(Y_{1}+j Y_{2}
ight) cdot f_{1}
ight) d t=int_{0}^{T_{s}}left(e^{jleft(frac{pi t}{2 T_{s}} a_{k}+varphi_{k}-psi
ight)} cdot e^{j frac{pi t}{2 T_{s}}}
ight) d t=int_{0}^{T_{s}}left(e^{jleft(frac{pi t}{2 T_{s}}left(a_{k}+1
ight)+varphi_{k}-psi
ight)}
ight) 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}中的 heta 是一个常量,将其归到基带信号的psi中,后续不显示了,没什么影响: \ int_{0}^{T_{s}}left(left(Y_{1}+j Y_{2}
ight) cdot f_{2}
ight) d t=int_{0}^{T_{s}}left(e^{jleft(frac{pi t}{2 T_{s}} a_{k}+varphi_{k}-psi
ight)} cdot e^{-j frac{pi t}{2 T_{s}}}
ight) d t=int_{0}^{T_{s}}left(e^{jleft(frac{pi t}{2 T_{s}}left(a_{k}-1
ight)+varphi_{k}-psi
ight)}
ight) 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} ight) cdot f_{1} ight) d t=int_{0}^{T_{s}}left(e^{jleft(frac{pi t}{2 T_{s}}left(a_{k}+1 ight)+varphi_{k}-psi ight)} ight) d t=int_{0}^{T_{s}}left(e^{jleft(frac{pi t}{T_{s}}+varphi_{k}-psi ight)} ight) 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} ight) cdot f_{2} ight) d t=int_{0}^{ au_{s}}left(e^{jleft(frac{pi t}{2 au_{s}}left(a_{k}-1 ight)+varphi_{k}-psi ight)} ight) d t=int_{0}^{T_{s}}left(e^{jleft(varphi_{k}-psi ight)} ight) 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} ight) cdot f_{1} ight) d t=int_{0}^{T_{s}}left(e^{jleft(frac{pi t}{2 T_{S}}left(a_{k}+1 ight)+varphi_{k}-psi ight)} ight) d t=int_{0}^{ au_{s}}left(e^{jleft(varphi_{k}-psi ight)} ight) 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}^{ au_{s}}left(left(Y_{1}+j Y_{2} ight) cdot f_{2} ight) d t=int_{0}^{ au_{s}}left(e^{jleft(frac{pi t}{2 T_{s}}left(a_{k}-1 ight)+varphi_{k}-psi ight)} ight) d t=int_{0}^{T_{s}}left(e^{jleft(frac{pi t}{T_{s}}+varphi_{k}-psi ight)} ight) 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^{jleft(varphi_{k}-psi ight)} d t=T_{s} cdot e^{jleft(varphi_{k}-psi ight)} \ int_{0}^{T_{s}} e^{jleft(frac{pi t}{T_{s}}+varphi_{k}-psi ight)} d t=e^{jleft(varphi_{k}-psi ight)} int_{0}^{ au_{s}} e^{j frac{pi t}{T_{s}}} d t=e^{jleft(varphi_{k}-psi ight)} cdot frac{T_{s}}{j pi} cdot int_{0}^{ au_{s}} e^{j frac{pi t}{T_{s}}} d frac{j pi}{T_{s}} t \ =left.e^{jleft(varphi_{k}-psi ight)} cdot frac{T_{s}}{j pi} cdot e^{j frac{pi t}{T_{s}}} ight|_{0} ^{T_{s}}=frac{j 2}{pi} cdot T_{s} cdot e^{jleft(varphi_{k}-psi ight)} ∫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解码时也可以将数据纠正
如果你想拥有你从未拥有过的东西,那么你必须去做你从未做过的事情
之前咱们学习了LNMP架构,但是PHP对于技术来说确实是老掉牙了,PHP的市场占有量越来越少了,我认识一个10年的PHP开发工程师,十年工资从15k到今天的6k,现在比较主流的是Java+前端实现界面访问,但是Java需要特定的web服务进行解析展示今天咱们学习tomcat的安装部署,话不多说直接开干~~~~
目录
三、搭建LNMT架构(https+nginx负载均衡+mysql数据库+tomcat服务)
💬欢迎交流:在学习过程中如果你有任何疑问或想法,欢迎在评论区留言,我们可以共同探讨学习的内容。你的支持是我持续创作的动力!
👍点赞、收藏与推荐:如果你觉得这篇文章对你有所帮助,请不要忘记点赞、收藏,并分享给更多的小伙伴!你们的鼓励是我不断进步的源泉!
🚀推广给更多人:如果你认为这篇文章对你有帮助,欢迎分享给更多对Linux感兴趣的朋友,让我们一起进步,共同提升!
一、安装java环境,配置tomcat
- class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="1">
评论记录:
回复评论: