问题标签 [modulation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
718 浏览

encoding - modem.oqpsk 半正弦波

嗨,我正在使用以下内容

但它使用默认设置构建它,我想对 zigbee 建模,它是具有半正弦波的 oqpsk ......我该怎么做?多谢!

0 投票
1 回答
1631 浏览

c - 使用相位累加器的 FM 合成

我正在尝试使用 C 中的相位累加器来实现一个带有反馈的 FM 合成算子。在 Tomisawa 的原始专利中,进入加法器的相位累加器对负数和正数都进行计数,从 -2^(n-1} 在-pi 的正弦波相位在 pi 的相位处变为 2^(n-1)。为简单起见,我想使用一个相位累加器,它只对正值进行计数,使用一个未分类的 32 位整数的顶部字节作为正弦表查找的索引。

我已经对此进行了实验,不幸的是,在使用反馈时,我似乎无法让算法产生预期的结果。将正弦波输出添加到相位累加器应该会产生类似锯齿的波形,但我不知道如何正确地将输出正弦波(这是一个 16 位有符号整数)添加到无符号相位累加器来产生这个。任何建议,将不胜感激。

编辑:

一些澄清可能是为了。以下是富泽的原始专利中的一些图表:

算法

输出

当相位累加器和正弦波输出都被签名时,算法很容易实现。相位累加器从 -1 开始,一直运行到 1,正弦波输出也在 -1 和 1 之间。在 Python 中,生成 1000 个样本的算法看起来像这样:

这会产生如下所示的输出:

输出

我正在尝试使该算法适应 C。在 C 中,出于计算效率的目的,我希望相位累加器是 32 位无符号整数而不是有符号整数。这样,我可以将累加器高字节的前两位用作象限索引,将第二个高字节用作 256 个 16 位正弦值数组的索引,用于 1024 值正弦表。喜欢:

我的问题是我很难将 FM 算法调整为无符号相位累加器。如果相位累加器是无符号的 32 位整数,并且正弦波表输出是(有符号或无符号)16 位整数,我如何调整专利和上面的 Python 代码中所示的算法以使用这种格式,并产生相同的输出?

0 投票
1 回答
1670 浏览

matlab - 频率功率与信号功率

我必须使用 matlab 分析已用 QPSK 调制的信号,但我似乎无法正确处理。

我所拥有的:以已知频率采样的复杂信号。

我想要的是:某个频率的功率比。因此,如果信号是形式,a*cos(wt)+a*cos(2wt)那么我应该得到0.5 for wand 0.5 for 2w

我不知道我的代码问题出在哪里,但我得到的频率功率高于信号功率,如下图所示(in blue: signalPower, in red: Fm)。

信号功率与频率功率

这是我的代码:

编辑:根据评论中的要求,我使用的公式是:考虑到我进入了感兴趣的时间窗口。

信号功率 = 总和(信号(i)^2)

Fp = abs( sum( 信号 * exp(1i*2*pi Fmod (i)/obj.Fs) ) ^2

Fp = abs( sum( 信号 * exp(-1i*2*pi Fmod (i)/obj.Fs) ) ^2

0 投票
0 回答
501 浏览

vb.net - 使用 Vb.net 进行脉冲宽度调制 (PWM)

我可以使用带有布尔参数的函数来控制板上某些引脚的输出。是否可以使用 Vb.Net 发送 PWM 信号?

0 投票
1 回答
285 浏览

matlab - 在 Matlab 中找到 FM 信号的相位

我想找到 FM 信号的相位。消息信号的Matlab代码是

如何找到 FM 信号的相位?

0 投票
0 回答
254 浏览

matlab - Matlab 循环积分

我在matlab中使用瑞利衰落的M-QAM调制,我对集成部分有一点问题,我用近似值制作了那个代码:

该代码可以正常工作,但现在我需要进行修改,必须修改 aproximation 指示的行,而不是

我需要一个新值:

在哪里

所以我将我的代码修改为:

结尾

在 i 的每个循环中,我都在做 0 和 pi/2 之间的积分(我知道它不是很有效,但现在我只需要它工作),但我不断收到错误并且不知道确切原因,错误行是这

错误是???错误:文件:m_qam_ray2.m 行:22 列:108 等号左侧的表达式不是赋值的有效目标。

而且我不知道是因为我的循环编程错误还是因为积分。

如果有人可以提供帮助,我将不胜感激。

谢谢 :)

0 投票
1 回答
3132 浏览

matlab - matlab中的频率解调

matlab如何进行频率解调

我已经做了频率调制,但我不能做频率解调这是matlab代码

0 投票
1 回答
7002 浏览

matlab - 使用内置倍频程函数进行幅度调制

我正在使用以下代码来调制和解调一个简单的波形。

当 Fc 大约为 12k 时,“z”与“x”相同,但当 Fc 较高时(大约 15k,如上面的代码),“z”不合适。虽然波形看起来类似于“x”,但它就像一个调制波。我显然遗漏了一些东西(我知道 Fs > 2*(Fc+BW) 并且我想我在上面的代码中正确地遵循了它)有人可以帮忙吗?

0 投票
2 回答
251 浏览

matlab - 使用 MATLAB 对 ASK 进行傅里叶变换时遇到问题

我们有一个 ASK 调制信号。我们需要傅里叶变换,因此我使用了 FFT,但我abs()只需要一侧吗?我的代码是否完整?我也不确定如何从时域 (t) 转移到频域 (f) 以完成 matlab。

0 投票
1 回答
2340 浏览

simulation - FPGA 器件中的正弦脉冲宽度调制 - 模拟中正常,器件中未调制

以下是我的顶级模块:

我的正弦波查找表:

我还使用三角波查找表:

上述 SPWM 在 ModelSim PE Student Edition 10.3 中有效。 在此处输入图像描述

当加载到 GFEC Max II 入门套件中时,信号 p1 未被调制。任何帮助。谢谢...