Replace elements in a complex matrix

1 次查看(过去 30 天)
I'm using the signal processing toolbox. When I plot:
spectrogram(a,2^7,(2^7)-1,2^7,250e3)
I see some things in 'a' the figure I want to replace with background noise. For this I made variable 'x' that is a 65x12374 complex double matrix using this code:
x=spectrogram(a,2^7,(2^7)-1,2^7,250e3)
Now I used the marker on the figure of the spectrogram of 'a' to find the indexes for the parts I want to replace and wrote this:
x(-91.95:-94.27)=x(-100:(-94.27--91.95))
I get the error: Warning: Integer operands are required for colon operator when used as index Subscript indices must either be real positive integers or logicals.
The idea is to fill the content between those indexes with the content of some other part of the spectrogram. Then, I would want to turn back 'x' into a normal double matrix to get a new "original signal clean from what I covered.

回答(1 个)

Chaitral Date
Chaitral Date 2017-6-19
编辑:Chaitral Date 2017-6-19
For linear indexing, you must use integers. If you want to find out values of x that are between the range -100 to (-94.27--91.95), you can use the below command,
>> x(-100<=x & x<=(-94.27--91.95))
To replace these values from their respective places, you have to use similar technique.

类别

Help CenterFile Exchange 中查找有关 Time-Frequency Analysis 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by