主要内容

dsp.SineWave

生成离散正弦波

描述

dsp.SineWave系统对象™生成一个真实的或复杂的,多路正弦信号与独立的振幅,频率和相位在每一个输出通道。

真正的和复杂的正弦曲线,振幅,频率,PhaseOffset属性可以是标量或长度N向量,N在输出通道的数量。当你指定至少一个- - -这些属性的长度N向量,标量值指定的其他属性应用于每一个N频道。

生成离散正弦信号:

  1. 创建dsp.SineWave对象并设置其属性。

  2. 调用对象的参数,就好像它是一个函数。

了解更多关于系统对象是如何工作的,看到的系统对象是什么?

创建

描述

正弦= dsp.SineWave创建一个正弦波对象生成一个实值正弦信号的振幅1,100赫兹的频率和相位偏移量为0。默认情况下,生成正弦波对象只有一个样本。

正弦= dsp.SineWave (名称,值)创建一个正弦波对象与每个指定的属性设置为指定的值。在单引号附上每个属性的名字。

例子:正弦= dsp.SineWave(“振幅”,2);

例子

正弦= dsp.SineWave (amp,频率,相位,名称,值)创建一个对象的正弦波振幅属性设置为amp,频率属性设置为频率,PhaseOffset属性设置为阶段和任何其他指定的属性设置为指定的值。

属性

全部展开

属性,除非另有注明nontunable后,这意味着你不能改变它们的值调用对象。对象锁当你叫他们,释放函数打开它们。

如果一个属性可调在任何时候,你可以改变它的值。

改变属性值的更多信息,请参阅系统设计在MATLAB使用系统对象

正弦波的振幅,指定为以下之一:

  • 标量——一个标量适用于所有频道。

  • ——一个向量N向量包含在每个正弦波的振幅N输出通道。向量的长度必须为指定的一样频率PhaseOffset属性。

可调:是的

依赖关系

此属性可调只有当你设置方法要么三角函数的“差”

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

在赫兹频率的正弦波,指定为以下之一:

  • 标量——一个标量适用于所有频道。

  • ——一个向量N向量包含每个正弦波的频率N输出通道。向量的长度必须为指定的一样振幅PhaseOffset属性。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

正弦波的相位抵消弧度,指定为以下之一:

  • 标量——一个标量适用于所有频道。

  • ——一个向量N向量包含正弦波的相位补偿的N输出通道。向量的长度必须为指定的一样振幅频率属性。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

国旗表明波形是否真实的或复杂的,指定为:

  • ——波形输出是真实的。

  • 真正的——波形输出是复杂的。

方法用于生成正弦曲线,指定为以下之一:

  • 三角函数的——抽样对象计算正弦信号的连续时间函数。

  • “查表”——对象预先执行每个独特的样本输出正弦信号的模拟,并根据需要召回样本内存。

  • “差”——对象使用增量算法。该算法计算输出样本根据输出值计算在先前的样品时间和预先计算的更新。

速度或内存,优化正弦表值指定为:

  • “速度”——表包含k元素,k是输入样本的数量在一个完整周期的正弦波。每个正弦信号的周期必须是一个整数1 /的倍数Fs,在那里Fs的价值吗SampleRate属性值。也就是说,每个元素的频率属性必须的形式Fs/,在那里是一个整数大于1

  • “记忆”——表包含k/ 4的元素。

依赖关系

这个属性只适用于当你设置方法财产“查表”

输出信号的采样率Hz,指定为一个积极的标量。

例子:44100年

例子:22050年

数量的连续样本每个正弦信号缓冲到输出帧,指定为一个正整数。

例子:1000年

例子:5000年

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

正弦波输出的数据类型指定为“双”,“单一”,或“自定义”

定点属性

输出词和部分长度,指定为一个autosigned数值类型的字长16。

例子:numerictype([], 32岁,30)

例子:numerictype([], 16岁,15)

依赖关系

这个属性只适用于当你设置方法财产“查表”OutputDataType财产“自定义”

使用

描述

例子

sineOut= sin ()输出正弦波,sineOut

输出参数

全部展开

正弦波输出,作为一个向量或矩阵返回。的SamplesPerFrame属性决定了在输出矩阵的行数。如果频率或者是PhaseOffset房地产是一个向量,向量的长度确定列数(渠道)在输出矩阵。如果频率或者是PhaseOffset属性是一个标量,那么输出矩阵的频道数量是1。

OutputDataType属性集的数据类型输出。

数据类型:||fi

对象的功能

使用一个目标函数,指定系统对象作为第一个输入参数。例如,释放系统资源的系统对象命名obj使用这个语法:

发行版(obj)

全部展开

一步 运行系统对象算法
释放 释放资源,并允许修改系统对象属性值和输入特征
重置 重置的内部状态系统对象

例子

全部折叠

请注意:如果您使用的是R2016a或更早的版本中,用等效替换每个调用对象一步语法。例如,obj (x)就变成了步骤(obj, x)

生成一个正弦波的振幅2 10赫兹的频率,一个初始阶段的0。

sine1 = dsp.SineWave (10);sine1。SamplesPerFrame = 1000;y = sine1 ();情节(y)

图包含一个轴。轴包含一个类型的对象。

生成两个正弦波相抵消π/ 2的弧度。

sine2 = dsp.SineWave;sine2。频率= 10;sine2。PhaseOffset =[0π/ 2];sine2。SamplesPerFrame = 1000;y = sine2 ();情节(y)

图包含一个轴。轴包含2线类型的对象。

这个例子展示了如何在MATLAB和低通滤波器噪声信号可视化最初使用频谱分析仪和过滤信号。这个例子的仿万博1manbetx真软件版本,请参阅过滤器框架嘈杂的正弦波信号的仿真软件万博1manbetx

指定信号源

输入信号是两个正弦波的总和1 kHz频率10 kHz。采样频率是44.1 kHz。

Sine1 = dsp.SineWave (“频率”1 e3,“SampleRate”44.1 e3);Sine2 = dsp.SineWave (“频率”,10 e3,“SampleRate”44.1 e3);

创建低通滤波器

低通滤波器,dsp.LowpassFilter,设计一个最小订单FIR低通滤波器使用广义雷冷杉滤波器设计算法。设置通带频率为5000赫兹和阻带频率8000赫兹。通带波纹为0.1 dB和阻带衰减是80分贝。

FIRLowPass = dsp.LowpassFilter (“PassbandFrequency”,5000,“StopbandFrequency”,8000);

创建频谱分析仪

设置频谱分析仪比较原始和过滤信号的功率谱。谱单元dBm。

SpecAna = dsp.SpectrumAnalyzer (“PlotAsTwoSidedSpectrum”假的,“SampleRate”Sine1.SampleRate,“NumInputPorts”2,“ShowLegend”,真的,“YLimits”,-145年,45);SpecAna。ChannelNames = {“原始噪声信号”,“低通滤过的信号”};

指定样品每帧

这个示例使用框架处理,数据处理一帧。每一帧的数据包含连续样本一个独立的通道。框架处理便于许多信号处理的应用程序,因为你可以同时处理多个样品。通过缓冲数据成帧和处理multisample帧的数据,你可以提高你的信号处理算法的计算时间。样品每帧的数量设置为4000。

Sine1。SamplesPerFrame = 4000;Sine2。SamplesPerFrame = 4000;

过滤器的正弦波信号

添加零均值高斯白噪声的标准差0.1正弦波之和。使用数字滤波器滤波结果。在运行模拟时,频谱分析仪显示频率高于8000赫兹源信号衰减。由此产生的信号峰值保持1 kHz,因为它属于低通滤波器的通带。

i = 1: 1000 x = Sine1 Sine2 () + () + 0.1。* randn (Sine1.SamplesPerFrame, 1);y = FIRLowPass (x);SpecAna (x, y);结束发行版(SpecAna)

带通滤波器的离散正弦波信号由三个正弦信号频率,1 kHz, 10 kHz, 15 kHz。

设计一个冷杉Equiripple带通滤波器,首先创建一个带通滤波器设计规范对象,然后使用这些规范设计一个滤波器。

设计带通滤波器

创建一个带通滤波器设计规范对象使用fdesign.bandpass

bandpassSpecs = fdesign.bandpass (,Fst1 Fp1 Fp2, Fst2 Ast1,美联社,Ast2”,1/4,3/8,5/8,6/8,60岁,1、60);

这个对象列表中可用的设计方法。

designmethods (bandpassSpecs)
为类fdesign设计方法。带通(Fp1 Fst1, Fp2, Fst2 Ast1,美联社,Ast2):黄油cheby1 cheby2 ellip equiripple kaiserwin

设计一个Equiripple过滤器的选择“equiripple”

bpFilter =设计(bandpassSpecs,“equiripple”,“Systemobject”,真正的)
bpFilter = dsp。FIRFilter属性:结构:“直接形式”NumeratorSource:“财产”分子:[1 x37双]InitialConditions: 0显示所有属性

可视化设计滤波器的频率响应。

fvtool (bpFilter“Fs”,44100)

数字滤波器可视化工具——级响应(dB)包含一个uitoolbar类型的轴和其他对象,uimenu。轴与标题2级响应(dB)中包含的对象类型。

创建正弦信号

创建一个信号,是一笔三正弦曲线频率1 kHz, 10 kHz, 15 kHz。初始化视图原始信号频谱分析仪和过滤信号。

Sine1 = dsp.SineWave (“频率”1 e3,“SampleRate”,44.1 e3,“SamplesPerFrame”,4000);Sine2 = dsp.SineWave (“频率”,10 e3,“SampleRate”,44.1 e3,“SamplesPerFrame”,4000);Sine3 = dsp.SineWave (“频率”15 e3,“SampleRate”,44.1 e3,“SamplesPerFrame”,4000);SpecAna = dsp.SpectrumAnalyzer (“PlotAsTwoSidedSpectrum”假的,“SampleRate”Sine1.SampleRate,“NumInputPorts”2,“ShowLegend”,真的,“YLimits”,-240年,45);SpecAna。ChannelNames = {“原始噪声信号”,“带通滤过的信号”};

过滤器正弦信号

过滤正弦信号使用的带通滤波器设计。查看原始信号和过滤后的信号频谱分析仪。1 kHz的基调是过滤掉。10 kHz的语气是不受影响,15 kHz的语气是温和的减毒,因为它出现在滤波器的过渡带。

i = 1: 1000 x = Sine1 Sine2 () + () + Sine3 ();y = bpFilter (x);SpecAna (x, y);结束发行版(SpecAna)

图频谱分析仪包含一个uiflowcontainer类型的轴和其他对象,uimenu uitoolbar。轴包含2线类型的对象。这些对象代表原始噪声信号,带通滤波的信号。

更多关于

全部展开

算法

全部展开

扩展功能

介绍了R2012a