Square wave generator similar to dsp.SineWave

4 次查看(过去 30 天)
I know squarewave() function, but I would like to know is there an equivalent system object square wave generator, just like dsp.SineWave so I can generate 1024 samples per loop for demodulation purposes in streaming processing of audio signals.
Thanks
  2 个评论
Walter Roberson
Walter Roberson 2019-1-8
is this for use in simulink ? if so the repeating pattern generator can be used.
masnoob
masnoob 2019-1-8
编辑:masnoob 2019-1-8
I actually have implemented stream processing where the entire process is real time based, contained within a while loop, currently using sine wave but I just want to produce square wave instead in matlab, not simulink.

请先登录,再进行评论。

采纳的回答

Gabriele Bunkheila
Please take a look at audioOscillator in Audio System Toolbox, which can generate sine, square, and sawtooth waveforms.
  3 个评论
Gabriele Bunkheila
编辑:Gabriele Bunkheila 2019-1-9
Glad to hear that helped!
As for visualizing the response of graphicEQ, if the visualize() doesn't work for you, then you may want to use coeffs() to extract the filter coefficients and then plot the response using a standard approach, such as the following:
% Create and configure the equalizer
g = graphicEQ;
g.Gains = 6*randn(size(g.Gains)); % random gains in dB
% Extract the coefficients
[B,A] = coeffs(g);
% Compute the response using the SOS argument format for coefficients
[h,f] = freqz([B;ones(1,size(B,2));A]',4096,g.SampleRate);
% Plot magnitude over frequency and customize appearance
hp = plot(f,db(abs(h)));
hp.Parent.XScale = 'log';
hp.Parent.XLim = [20, 20e3];
xlabel('Frequency (Hz)')
ylabel('Response (dB)')
grid('on')
masnoob
masnoob 2019-1-10
Thanks Gabriele! the solution worked like a charm!

请先登录,再进行评论。

更多回答(0 个)

产品


版本

R2018b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by