isNewDataReady
Check spectrum analyzer for new data
Description
indicates whether the spectrum analyzer flag
= isNewDataReady(scope
)scope
displays new
spectral estimates. When logging spectrum analyzer data from the spectrumAnalyzer
scope, use this function to ignore duplicate spectra
from the getSpectrumData
function.
Examples
Log Spectrum Data
Generate a discrete sine wave. Then display the sine wave signal using the Spectrum Analyzer. While the Spectrum Analyzer is running, save the spectrum data to a table. The Spectrum Analyzer does not update at every time step. To avoid saving that redundant spectrum data, use the isNewDataReady
function.
wave = dsp.SineWave(Frequency=100,SampleRate=1000); wave.SamplesPerFrame = 1000; scope = spectrumAnalyzer(SampleRate=wave.SampleRate,... ViewType="spectrum-and-spectrogram"); data = []; for ii = 1:250 x = wave() + 0.05*randn(1000,1); scope(x); if scope.isNewDataReady data = [data;getSpectrumData(scope)]; end end release(scope);
Show the first five rows in the table. You can see gaps in the simulation time in the data
table. The missing rows indicate times where the Spectrum Analyzer was waiting for additional samples to update the spectrum. The isNewDataReady
function prevented the script from saving that redundant data.
data(1:5,:)
ans = 5x4 table SimulationTime Spectrum Spectrogram FrequencyVector ______________ _______________ _________________ _______________ {[0.9990]} {1024x1 double} {100x1024 double} {1024x1 double} {[1.9990]} {1024x1 double} {100x1024 double} {1024x1 double} {[2.9990]} {1024x1 double} {100x1024 double} {1024x1 double} {[3.9990]} {1024x1 double} {100x1024 double} {1024x1 double} {[4.9990]} {1024x1 double} {100x1024 double} {1024x1 double}
Input Arguments
scope
— Spectrum analyzer
object name
Spectrum analyzer from which you want to save data, specified as a
spectrumAnalyzer
object.
Output Arguments
flag
— Flag indicating new data
true
| false
Flag indicating new data, returned as one of these:
true
–– The Spectrum Analyzer shows new data.false
–– The Spectrum Analyzer shows the same spectrum and no new data is available.
Version History
Introduced in R2017bR2024a: dsp.SpectrumAnalyzer
System object warns
The dsp.SpectrumAnalyzer
System object™ warns in R2024a. Use the spectrumAnalyzer
object instead.
Update Code
No updates to your code are required except replacing instances of
dsp.SpectrumAnalyzer
with
spectrumAnalyzer
.
This table shows how the isNewDataReady
function typically
uses the dsp.SpectrumAnalyzer
System object and explains how to update existing code to use the
spectrumAnalyzer
object.
Discouraged Usage | Recommended Replacement |
---|---|
wave = dsp.SineWave('Frequency',100,'SampleRate',1000); wave.SamplesPerFrame = 1000; scope = dsp.SpectrumAnalyzer('SampleRate',wave.SampleRate,... 'ReducePlotRate',false,... 'ViewType','Spectrum and spectrogram'); data = []; for ii = 1:250 x = wave() + 0.05*randn(1000,1); scope(x); if scope.isNewDataReady data = [data;getSpectrumData(scope)]; end end release(scope); |
wave = dsp.SineWave(Frequency=100,SampleRate=1000); wave.SamplesPerFrame = 1000; scope = spectrumAnalyzer(SampleRate=wave.SampleRate,... ViewType="spectrum-and-spectrogram"); data = []; for ii = 1:250 x = wave() + 0.05*randn(1000,1); scope(x); if scope.isNewDataReady data = [data;getSpectrumData(scope)]; end end release(scope); |
R2022a: Support for dsp.SpectrumAnalyzer
object will be removed
The isNewDataReady
function will stop supporting the
dsp.SpectrumAnalyzer
object in a future release. Use the
spectrumAnalyzer
object instead.
See Also
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)