主要内容

comm.FMBroadcastDemodulator

解调广播调频音频信号

描述

comm.FMBroadcastDemodulator系统对象™解调一个复杂的广播调频信号,并用去重音滤波器对信号进行滤波以产生音频信号。有关详细信息,请参见算法部分。

解调广播调频音频信号:

  1. 创建comm.FMBroadcastDemodulator对象并设置其属性。

  2. 使用参数调用对象,就像调用函数一样。

有关系统对象如何工作的详细信息,请参见什么是系统对象?

创建

描述

fmbdemodulator = com . fmbroadcastdemodulator创建FM广播解调系统对象。

例子

fmbdemodulator = com . fmbroadcastdemodulator (的名字价值使用一个或多个名称-值参数设置属性。例如,“SampleRate”,400年e3指定采样率为400khz。

fmbmodulator = com . fmbroadcastdemodulator (fmbmodulator)根据输入的配置设置属性comm.FMBroadcastModulator系统对象,fmbmodulator

属性

全部展开

除非另有说明,属性为<年代pan class="emphasis">nontunable,这意味着在调用对象后不能更改它们的值。对象在调用时锁定,而释放功能解锁它们。

如果属性为<年代pan class="emphasis">可调,您可以随时更改其值。

有关更改属性值的详细信息,请参见使用系统对象的MATLAB系统设计

解调器输入的采样率(以Hz为单位),指定为正标量。采样率必须大于频率偏差的两倍(即:<年代pan class="inlineequation">SampleRate> 2×FrequencyDeviation).

数据类型:

输入信号频率的峰值偏差,以Hz为单位,指定一个正标量。频率偏差必须小于采样率的一半(即:<年代pan class="inlineequation">FrequencyDeviation<SampleRate/ 2).

系统带宽<年代pan class="inlineequation">BT= 2×(FrequencyDeviation+B,在那里B为消息带宽,单位为Hz。有关更多信息,请参见算法部分。

FM广播标准在美国指定的值为75 kHz,在欧洲指定的值为50 kHz。

数据类型:

去强调高通滤波器时间常数,以秒为单位,指定为正标量。FM广播标准规定,美国为75 μs,欧洲为50 μs。

数据类型:

选项,以启用立体解调,指定为逻辑0)或1真正的).

  • —输出为单声道音频。

  • 真正的—对象执行立体声解码,输出立体声音频。

有关更多信息,请参见算法部分。

数据类型:逻辑

选项,以启用音频回放,指定为逻辑0)或1真正的).若要在连接到计算机的默认音频设备上播放输出信号,请将此属性设置为真正的

数据类型:逻辑

输出音频信号的采样率(以Hz为单位),指定为正标量。

数据类型:

样本中缓冲区的大小,指定为正整数。此属性指定System对象用于与音频设备通信的缓冲区的大小。

依赖关系

属性可启用此属性PlaySound财产真正的

数据类型:

选项,以启用RDS(或RBDS)波形解调,指定为逻辑0)或1真正的).如果将此属性设置为真正的,对象解调RDS(或RBDS)波形。有关更多信息,请参见算法部分。

数据类型:逻辑

RDS(或RBDS)输出信号的过采样因子,指定为正整数。RDS(或RBDS)广播数据的采样率为1187.5 Hz。RDS(或RBDS)信号采样率为<年代pan class="inlineequation">RBDSSamplesPerSymbol×1187.5赫兹。

依赖关系

属性可启用此属性rbd财产真正的

数据类型:

恢复RDS(或RBDS)信号相位的选项,以逻辑方式指定0)或1真正的).

若要使用Costas循环恢复RDS(或RBDS)信号的相位,请将此属性设置为真正的.对于没有锁定的无线电台57千赫RDS(或RBDS)信号在相位上与三次谐波19kHz导频音,科斯塔斯循环有助于恢复RDS(或RBDS)信号的相位。

依赖关系

属性可启用此属性rbd财产真正的

数据类型:逻辑

使用

描述

例子

audiosig= fmbdemodulator (insig解调fm调制基带音频信号,并用去强调滤波器对该信号进行滤波以产生音频信号。

例子

audiosigrbdssig= fmb解调器(insig还调制基带RBDS信号在57千赫。要启用此语法,请设置rbd财产真正的

输入参数

全部展开

fm调制的基带音频信号,指定为列向量。有关信号长度限制的信息,请参见限制

数据类型:|
复数支持:金宝app是的

输出参数

全部展开

音频信号,返回为列向量或——- - - - - -N矩阵。是立体声通道的数量。N是每个声道音频信号中的采样数。输出与输入信号具有相同的数据类型,insig

如果你设置立体声财产真正的,音频信号必须至少有两个通道,系统对象在去强调滤波之前执行立体声编码。输出的长度为<年代pan class="inlineequation">N×AudioSampleRate/SampleRate

RBDS信号,作为与输入信号具有相同数据类型的列向量返回。

数据类型:|
复数支持:金宝app是的

对象的功能

要使用对象函数,请将System对象指定为第一个输入参数。例如,释放system对象的系统资源obj,使用这种语法:

发行版(obj)

全部展开

信息 有关调频广播调制器或解调器的信息
一步 运行<年代pan class="trademark entity">系统对象算法
释放 释放资源并允许更改<年代pan class="trademark entity">系统对象属性值和输入特征
重置 重置的内部状态<年代pan class="trademark entity">系统对象

例子

全部折叠

在应用FM广播调制和解调后,使用System对象以流模式处理数据,回放音频文件。

加载音频文件guitartune.wav通过使用音频文件阅读器系统对象™,将每帧的样本设置为4410。

Audiofilereader = dsp。AudioFileReader (<年代pan style="color:#A020F0">“guitartune.wav”,<年代pan style="color:#0000FF">...“SamplesPerFrame”, 4410);

创建FM广播调制器和解调器对象。设置输出音频信号的采样率以匹配输入音频信号的采样率。将解调器的采样率设置为与调制器的指定采样率相匹配。为广播解调器启用音频回放。

fmbMod = com . fmbroadcastmodulator (<年代pan style="color:#0000FF">...“AudioSampleRate”, audiofilereader。SampleRate,<年代pan style="color:#0000FF">...“SampleRate”240年e3);fmbDemod = com . fmbroadcast解调器(<年代pan style="color:#0000FF">...“AudioSampleRate”, audiofilereader。SampleRate,<年代pan style="color:#0000FF">...“SampleRate”240年e3,<年代pan style="color:#A020F0">“PlaySound”,真正的);

读取长度为4410帧的音频数据,应用FM广播调制,解调FM信号,并回放解调信号(demodData).

~isDone(audiofilereader) audioData = audiofilereader();modData = fmbMod(audioData);demodData = fmbDemod(modData);<年代pan style="color:#228B22">%解调和播放信号结束

生成RBDS波形,FM广播用音频信号调制RBDS波形,FM广播解调FM信号。

指定RBDS波形的参数,每帧19组,每个符号10个样本。RBDS波形的采样率为1187.5 x 10。设置音频采样率为1187.5 x 40。

groupLen = 104;SPS = 10;groupsPerFrame = 19;rbdsFrameLen = groupLen*sps*groupsPerFrame;afrRate = 40*1187.5;rbdsRate = 1187.5*sps;outate = 4*57000;

加载音频文件guitartune.wav通过使用音频文件读取器系统对象™,同时设置每帧的样本。创建RBDS波形发生器、调频广播调制器、调频广播解调器和时间范围系统对象。配置调制器和解调器对象以处理立体声音频文件和RBDS波形。

Afr = dsp。AudioFileReader (<年代pan style="color:#0000FF">...“rbds_capture_47500.wav”,<年代pan style="color:#0000FF">...“SamplesPerFrame”, rbdsFrameLen * afrRate / rbdsRate);rbds = com . rbdswaveformgenerator (<年代pan style="color:#0000FF">...“GroupsPerFrame”groupsPerFrame,<年代pan style="color:#0000FF">...“SamplesPerSymbol”, sps);fmMod = com . fmbroadcastmodulator (<年代pan style="color:#0000FF">...“AudioSampleRate”,误判率。年代ampleRate,<年代pan style="color:#0000FF">...“SampleRate”outRate,<年代pan style="color:#0000FF">...“立体”,真的,<年代pan style="color:#0000FF">...“rbd”,真的,<年代pan style="color:#0000FF">...“RBDSSamplesPerSymbol”, sps);fmDemod = com . fmbroadcastdemodulator (<年代pan style="color:#0000FF">...“SampleRate”outRate,<年代pan style="color:#0000FF">...“立体”,真的,<年代pan style="color:#0000FF">...“rbd”,真的,<年代pan style="color:#0000FF">...“PlaySound”,真正的);Scope = timescope(<年代pan style="color:#0000FF">...“SampleRate”outRate,<年代pan style="color:#0000FF">...“YLimits”, 10 ^ 2 * [1]);

读取音频信号。以与音频相同的配置速率生成RBDS信息。调频广播利用RBDS信息调制立体声音频信号。添加加性高斯白噪声。fm -解调音频信号和RBDS波形。在时间范围内查看波形。

Idx = 1:7 input = afr();rbdsWave = rbds();yFM = fmMod([input input],rbdsWave);rcv = awgn(yFM,40);[audioRcv, rbdsRcv] = fmDemod(rcv);范围(rbdsRcv);<年代pan style="color:#0000FF">结束

限制

输入信号的长度,insig的整数倍AudioDecimationFactor财产。如果你设置rbd财产真正的,输入信号的长度,insig,也必须是的整数倍RBDSDecimationFactor.有关的更多信息AudioDecimationFactor而且RBDSDecimationFactor属性,请参见信息对象的功能。

算法

全部展开

调频广播解调器包括基带调频解调功能、去强调滤波和接收立体声信号的能力。有关用于基本调频调制和解调的算法的更多信息,请参阅comm.FMDemodulator系统对象。