解码器怎么用(小编教你解码器的使用 *** )

访客4年前黑客资讯510

结合正交调制的改进算法可以实现不受相位未对准影响的FSK解码。

可以通过检查通过将接收信号乘以参考信号而产生的波形的DC偏移来识别FSK符号的频率。这是一种简单有效的技术,可以在理想化的数学环境中完美运行,但我们在前一篇文章中看到它对相位对准不稳健。

当使用非相干接收器架构时,无法在发射器和接收器之间建立固定的相位关系。这意味着数据包开头的阶段将是不可预测的。仅这一点不会损害我们的解码器算法,因为我们可以使用训练序列来识别解调的基带信号的相位,然后相应地修改参考信号。(但是,我对这种 *** 没有经验,我不知道它在现实生活中会有多么有效。)

然而,当我们考虑短期相位变化时情况变得更糟,因为这些可能导致接收信号的相位在一个分组的空间内偏离参考信号的相位。因此,分组最初可以具有相位对准,但是恶化的相位关系将产生导致整个分组被丢弃的比特错误。

结合正交解调

我在上一篇文章的末尾指出了这个问题的解决方案。我们可以使用正交解调来产生I和Q基带信号,这些信号允许FSK解码算法对相位对准不敏感。

如何使用I / Q信号设计一个强大的FSK解码器

这是对系统的一个非常有益的修改,但它意味着我们需要解调电路中的附加组件(生成I / Q信号而不是单个基带信号)和数字信号处理器中的额外时钟周期(因为数学必须是在两个信号而不是一个信号上执行。

之一个问题是相当小的问题:正交解调现在非常普遍,我认为在大多数情况下,它可以在不显着增加成本,复杂性或PCB尺寸的情况下采用。第二个问题的严重性取决于系统的特征。如果您拥有功能强大的处理器和低数据速率,那么在合并其他数学运算时可能完全没有问题。但是如果您选择了低成本,低功耗的处理器并且您正在尝试更大化数据速率,那么所有新的计算都可能使解码算法无法在下一个数据包到达之前完成处理一个数据包。

Scilab中的I / Q FSK解码

让我们从建立二进制0频率,二进制1频率和每个符号的样本数开始,然后我们将根据每个符号的样本数创建索引变量(n)。

ZeroFrequency = 10e3;

OneFrequency = 30e3;

SamplingFrequency = 300e3;

Samples_per_Symbol = SamplingFrequency / ZeroFrequency;

n = 0:(Samples_per_Symbol-1);

生成I / Q信号

现在我们可以为两个频率生成I和Q符号。按照惯例,I(同相)信号是余弦波形,Q(正交)信号是正弦波形。

Symbol_Zero_I = cos(2 *%pi * n /(SamplingFrequency / ZeroFrequency));

Symbol_One_I = cos(2 *%pi * n /(SamplingFrequency / OneFrequency));

Symbol_Zero_Q = sin(2 *%pi * n /(SamplingFrequency / ZeroFrequency));

Symbol_One_Q = sin(2 *%pi * n /(SamplingFrequency / OneFrequency));

subplot(2,2,1)

plot(n,Symbol_Zero_I)

subplot(2,2,2)

plot(n,Symbol_One_I)

subplot(2,2,3)

plot(n,Symbol_Zero_Q)

subplot(2,2,4)

plot(n,Symbol_One_Q)

f = gcf();

对于k = 1:4

> f.children(k).font_size = 3;

> f.children(k).children.children.thickness = 3;

>结束

如何使用I / Q信号设计一个强大的FSK解码器

(最后的for循环改变了每个子图的刻度标记的大小和每行的粗细。你可以通过图窗口内置的图形界面做同样的事情;使用GUI更直观但变得一段时间后很烦人。)

我们的目标是探索相位错位的I / Q解决方案,因此我们需要符号的相移版本。如前一篇文章所示,接收信号和参考信号之间的最坏情况相位差为90°,因此我们将生成相位为45°的符号(即完美对齐和最差对齐之间的中间)和90° 。

Symbol_Zero_I_45deg = cos(%pi / 4 + 2 *%pi * n /(SamplingFrequency / ZeroFrequency));

Symbol_One_I_45deg = cos(%pi / 4 + 2 *%pi * n /(SamplingFrequency / OneFrequency));

Symbol_Zero_Q_45deg = sin(%pi / 4 + 2 *%pi * n /(SamplingFrequency / ZeroFrequency));

Symbol_One_Q_45deg = sin(%pi / 4 + 2 *%pi * n /(SamplingFrequency / OneFrequency));

Symbol_Zero_I_90deg = cos(%pi / 2 + 2 *%pi * n /(SamplingFrequency / ZeroFrequency));

Symbol_One_I_90deg = cos(%pi / 2 + 2 *%pi * n /(SamplingFrequency / OneFrequency));

Symbol_Zero_Q_90deg = sin(%pi / 2 + 2 *%pi * n /(SamplingFrequency / ZeroFrequency));

Symbol_One_Q_90deg = sin(%pi / 2 + 2 *%pi * n /(SamplingFrequency / OneFrequency));

现在让我们为二进制序列0101创建三组I和Q基带信号。

Baseband_I_aligned = [Symbol_Zero_I Symbol_One_I Symbol_Zero_I Symbol_One_I];

Baseband_Q_aligned = [Symbol_Zero_Q Symbol_One_Q Symbol_Zero_Q Symbol_One_Q];

Baseband_I_45deg = [Symbol_Zero_I_45deg Symbol_One_I_45deg Symbol_Zero_I_45deg Symbol_One_I_45deg];

Baseband_Q_45deg = [Symbol_Zero_Q_45deg Symbol_One_Q_45deg Symbol_Zero_Q_45deg Symbol_One_Q_45deg];

Baseband_I_90deg = [Symbol_Zero_I_90deg Symbol_One_I_90deg Symbol_Zero_I_90deg Symbol_One_I_90deg];

Baseband_Q_90deg = [Symbol_Zero_Q_90deg Symbol_One_Q_90deg Symbol_Zero_Q_90deg Symbol_One_Q_90deg];

subplot(3,2,1)

plot(Baseband_I_aligned)

subplot(3,2,2)

plot(Baseband_Q_aligned)

subplot(3,2,3)

plot(Baseband_I_45deg)

subplot(3,2,4)

plot(Baseband_Q_45deg)

subplot(-3,2,5-)

plot(Baseband_I_90deg)

subplot(3,2,6)

plot(Baseband_Q_90deg)

f = gcf();

对于k = 1:6

> f.children(k).font_size = 3;

>结束

如何使用I / Q信号设计一个强大的FSK解码器

 

相关文章

花洒什么牌子好(教你几招选购技巧)

花洒什么牌子好(教你几招选购技巧)

花洒作为我们家居生活中非常重要的一个卫浴五金配件,对于我们的日常洗浴可以说有着十分重要的帮助,但是大家了解什么牌子的花洒好吗?今天,小编在这里为大家介绍一下淋浴花洒十大品牌排名,看看花洒什么牌子质量好...

怎么去黑眼圈最有效(教你几个超级简单的方法

怎么去黑眼圈最有效(教你几个超级简单的方法

人们常说眼睛是心灵的窗户,通过眼睛我们传情达意表达着我们内心的想法,可是眼周阴云密布该怎么办呢?其实黑眼圈是一种常见疾病,有了黑眼圈会让人看起来很疲倦没精神,很多人想要去之而后快。长期黑眼圈怎么去除?...

发烧怎么退烧,教你在家做物理退烧!

发烧怎么退烧,教你在家做物理退烧!

孩子的养育是个技术活,小儿发热,是每个父母都经历过最为抓狂的事情之一,尤其是半夜时分,父母非常疲劳,加上孩子高热,年轻父母会被恐惧和焦虑折磨的不得安宁…… 一般情况下,孩子发烧...

被跳蚤咬了有什么症状,教你一招快速止痒

被跳蚤咬了有什么症状,教你一招快速止痒

跳蚤是一种让人讨厌的寄生虫,咬人后会非常难受,不仅会发痒发肿,甚至有时还会传染各种疾病。但是大家知道被跳蚤咬后的症状是什么样吗?被跳蚤咬后该怎么办?下面我们就来通过这篇文章好好的了解一下吧,希望对你们...

手机密码忘了怎么开锁?教你这2个方法,不用去修自己也能进入手机

手机密码忘了怎么开锁?教你这2个方法,不用去修自己也能进入手机

我们经常会遇到这样一种情况比如说忘记手机的锁屏密码,但忘记以后好多朋友可能都会去刷机。今天分享个小技巧可以按着手机几个键就可以解锁,该怎么操作咱们一起来看一看。 忘记锁屏密码打开手机技巧 手机...

怎么找回删除的微信好友(几条小技巧教你重拾

怎么找回删除的微信好友(几条小技巧教你重拾

微信删掉的人怎么找回来? 对,没有错,你有没有这样一个经历,男朋友一句话没说对,惹到了你的炸毛点,然后你就把他删掉了,等平静下来,你又偷偷想要加回,可是小仙女傲娇的根本不想问他要好吗?今天教你方法让他...