问题标签 [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 回答
274 浏览

matlab - Matlab:使用高阶 QAM 信号时出错 - 矩阵维度必须一致

这个问题似乎微不足道,但在尝试解决它时我只能摸不着头脑。我正在尝试将具有恒定模数技术的分数间隔均衡器应用于 64 QAM 星座。该程序适用于 QPSK 或 4 QAM,但是当我将其应用于 64QAM 时,它会引发错误:

我没有通信工具箱,因此使用我之前的问题生成 16 QAM 信号中给出的答案生成了 64QAM 符号

有人可以帮助使代码工作吗?谢谢你。

0 投票
1 回答
885 浏览

matlab - How to plot colorful histogram type constellation diagram in Matlab

I would like to plot constellation diagram similar to the figure below. Colorful Constellation.

My approach is something like this

May you assist me to make necessary modification to get graph similar to the figure attached above. Thank you.

0 投票
2 回答
4915 浏览

matlab - 如何创建斜条纹图案和棋盘图案?

基于这个问题,我可以确认可以将水平模式施加到矩阵(在这种情况下是图像)上,方法是将其与由此创建的调制信号相乘:

如果有人能解释为什么上述调制信号有效,那也太好了。

现在我想创建对角线图案,例如:

在此处输入图像描述

以及像这样的交叉(方格)模式:

在此处输入图像描述

使用类似的 vModulationSignal


创建调制信号的代码摘录

我试图创建纵横交错信号的代码摘录

0 投票
1 回答
1004 浏览

matlab - MATLAB 中的 AM 调制:采样频率?

我正在尝试使用 Fm = 200 Hz 的正弦消息调制 Fc=10 KHz 的载波(在时域中从 0 到 1)

采样率 Fs=1 KHz。

这是我的代码:

到此为止,没有问题。现在,对于载波信号:

消息- 运营商

现在需要在时域中乘以载波和消息。但是运营商不正确。问题源于 Fs << Fc

这就是为什么我把运营商的 FT 弄错了。

请问如何解决这个问题?

注意:这只是我用来了解情况的一个例子。我要解决的真正问题是 wav 音频文件(Fs=44.1 KHz)和载波频率(Fc=100 KHz)。所以,Fs << Fc,我对此无能为力。

谢谢,

0 投票
0 回答
818 浏览

android - android PPM解码器音频库

我需要在android上实现音频PPM(脉冲位置调制)

参考:http ://en.wikipedia.org/wiki/Pulse-position_modulation

我想使用智能手机的音频麦克风输入接收 PPM。

用于无线电控制、无人机等的无线电通常具有 PPM 输出。发射机(和 pc 飞行模拟器)通常具有 PPM 输入。

我想知道你是否可以帮助我完成这项任务。

正如你在这里所读到的,我仍然编写了 ppm 编码器类:android PPM 编码器音频库

这些是一些起始文档和工具:

1)smartpropplus是一个windows软件,接收PPM音频并解码http://sourceforge.net/p/smartpropoplus/code/HEAD/tree/SPP4/

2)这就是 PPM 的结构:http ://www.aerodesign.de/peter/2000/PCM/PCM_PPM_eng.html#Anker144123

3)这是一个简单的图像,解释了信号的结构:http ://www.aerodesign.de/peter/2000/PCM/frame_ppm.gif

4) 使用示波器进行 ppm 信号测量:http ://www.andrewhazelden.com/blog/2011/08/analyzing-rc-radio-ppm-signals/

编辑: 在等待您的支持时,我开始编写示例应用程序:

这是 PPMdecoder.java 类,它缺少信号解码和校准阶段......但它允许正确地从麦克风获取信号

注意:代码中的“//待完成”注释标识了解决此问题的缺失代码。

类 PPMdecoder.java

这是在 UI 线程上创建侦听器所需的接口 IAsyncFetchListener.java,以允许解码器使用通道值定期更新 UI。

这是示例活动类 Test.java :

这是 AndroidManifest.xml

0 投票
1 回答
5312 浏览

python - 在 Python 中解调 FSK 信号

我正在尝试编写一个 Python 脚本,它可以解调 FSK 调制的音频文件并返回音频中​​编码的数据。传输的数据是作为音频通道嵌入视频文件中的 GPS NMEA 字符串。基本上,文本是用 FSK 调制编码的,我正在尝试使用 Python 检索文本。我用来编码数据的设备也可以解码它,所以我已经能够生成正确的输出,但我需要能够使用软件来完成。

我已经阅读了一些背景资料,向自己介绍了信号处理和 FSK,并查看了示例脚本(例如这个minimodem)。

我设法编写了一个成功运行的 Python 脚本,尽管输出不正确。来自编码/解码设备的正确输出有 8,280 个原始二进制(0 和 1)字符,Python 输出有 1,344,786 个。我想我缺少一个符号同步器,但我不确定它是如何工作的。

我现在的问题是:如何将符号同步添加到脚本和/或符号计时?有没有更好的例子或解释如何在 Python 中进行 FSK 解调?我将不胜感激任何反馈或方向。谢谢你。
到目前为止,这是我的脚本:

0 投票
0 回答
356 浏览

r - FSK 解调和数据恢复

我正在尝试在 R 中实现 FSK 解调器。音频是一些文本数据,作为练习,我将文本转换为原始二进制(0 和 1),以便能够检查解调器的输出。到目前为止,我已经能够提出一些解调数据,但有些不对劲:真实数据的长度是 6720 个字符,但解调器输出的长度是 1345049,大约长 200 倍。所以基本上有一大堆额外的 0 和 1(例如,而不是 0101001 或其他东西,它看起来像 00000111110000011111000000011111)。

这是有道理的,因为音频文件的持续时间是 30.5 秒,乘以采样率 (44100),结果是 1345050。

我的问题是:从解调信号中恢复数据的正确方法是什么?一些过程,如 demod[1,200,400,600,800...]; 但是我是从第一位还是第 200 位开始,还是介于两者之间?还是我完全错过了目标?

0 投票
1 回答
1766 浏览

c++ - 写入 8 位 PCM 正弦波 wav 文件会产生泛音

我用 C++ 编写了一个程序来为 800Hz 正弦波生成一个 .wav 文件(1 个通道,8 位,16000Hz 采样,32000 个样本,所以 2 秒长),但是当我在 Audacity 中播放它或检查它的频谱图时,它有泛音。

我认为问题在于将正弦波转换为 PCM 的算法;我不确定在哪里放置“零”位移,在 127、127.5 或 128 等处。

生成的文件是这样的:output.wav

如有必要,这是 cpp 文件:wavwriter.cpp

谢谢!

编辑 2:我已将 char 更改为 uint8_t

以避免未定义的行为。同样的问题仍然适用。

0 投票
1 回答
488 浏览

matlab - Simulink 中的多声道音频输出

我正在使用 Simulink 通过我的音频输出(耳机)3.5 毫米插孔输出 2 个正弦波。我希望将其中一个正弦波从通道 1 发送出去,而另一个正弦波从通道 2 发送出去。

我尝试使用连接到 2 个“到音频设备”块的 2 个正弦波块,每个块都指定了一个不同的通道,这会给出错误“给定的音频设备只能打开一次”。

我尝试将两个正弦块连接到一个未连接的“到音频设备”块。

我曾尝试使用 Mux、Vector Concatenate 和 Matrix Concatenate 块来组合正弦曲线,然后再将输出馈送到“音频设备块”,这会产生不良结果。

我有两个正弦波单独工作,但不是同时工作。

0 投票
1 回答
50 浏览

matlab - 从另一个函数操作 .m 文件

所以我创建了一个 .m 文件,其中包含我正在尝试调制的锯齿信号波。我生成波形没有问题,但是当我尝试获取 .m 文件并将其乘以“c”时,MATLAB 返回原始波形。这个特定的程序使用双边带调制技术。第一部分是我的波形。

下一部分是我试图调用 .m 文件的地方,将其乘以“c”并绘制结果函数。