resampling signals in matlab 2012b

hello i want to downsampling a signal with 173HZ and 23.6s to 120HZ ,can i do it with matlab 2012b ?

 Respuesta aceptada

m
m el 16 de Ag. de 2013

0 votos

yes, i have signalprocessing toolbox,but i cant use '_resample()_' can you tell me about parameters (173 hz to 120 hz)? thanks.

17 comentarios

Jan
Jan el 16 de Ag. de 2013
Editada: Jan el 16 de Ag. de 2013
Matlab help says:
y = resample(x,p,q) resamples the sequence in vector x at p/q times the original sampling rate, using a polyphase filter implementation. p and q must be positive integers. The length of y is equal to ceil(length(x)*p/q). If x is a matrix, resample works down the columns of x.
i.e. in your case p=120 and q=173, so:
x_resampled = resample( x, 120, 172 )
should do the trick.
m
m el 16 de Ag. de 2013
thanks for your answer,i run it but get this error: "_Too many input arguments._" do you know this error? my x variable is eq 4096
Jan
Jan el 16 de Ag. de 2013
Check the type of your signal. It should be either a vector or a 2-d matrix.
m
m el 16 de Ag. de 2013
Editada: m el 16 de Ag. de 2013
can i attach the file of sampled signal to this comment, that you can see it?
Jan
Jan el 16 de Ag. de 2013
Before you start uploading files: how do you load the signal into the Matlab environment and what kind of signal is it that you are dealing with?
m
m el 16 de Ag. de 2013
i want to import the eeg signal ,the file has 4097 numbers,i use import from menu then import it to a variable,and the file has one column... i think matlab has a bug with this function because when i try to run sample code of 'resample' i see this error again !
Jan
Jan el 16 de Ag. de 2013
In the Matlab command line type whos and post the output.
Also type the variable name and post that output, too.
m
m el 16 de Ag. de 2013
my input command : y=resample(inputsig,120,173); output : Error using resample Too many input arguments.
my enviroment report : Name Size Bytes Class Attributes
inputsig 4097x1 32776 double
y 1x4098 32784 double
Jan
Jan el 16 de Ag. de 2013
Could you type
which resample
and post that output?
Please post the result of
which -all resample
m
m el 16 de Ag. de 2013
ofcourse, the output is :E:\edu\ARSHAD AI\classes\EVALUATIONARY ALGORITHMS\Project\Steps\Data\resample.m
do you think the path is so long?
Jan
Jan el 16 de Ag. de 2013
No, there is a function in your project that is called resample too which hides Matlab's resample function. Unload the path you just posted from your environment and try to call resample again.
m
m el 16 de Ag. de 2013
Editada: m el 16 de Ag. de 2013
E:\edu\ARSHAD AI\classes\EVALUATIONARY ALGORITHMS\Project\Steps\Data\resample.m C:\Program Files\MATLAB\R2012b\toolbox\matlab\timeseries\@timeseries\resample.m C:\Program Files\MATLAB\R2012b\toolbox\ident\ident\@iddata\resample.m C:\Program Files\MATLAB\R2012b\toolbox\simbio\simbio\@SimData\resample.m C:\Program Files\MATLAB\R2012b\toolbox\matlab\timeseries\@tscollection\resample.m C:\Program Files\MATLAB\R2012b\toolbox\signal\signal\resample.m
m
m el 16 de Ag. de 2013
after i delete my resample function : C:\Program Files\MATLAB\R2012b\toolbox\signal\signal\resample.m
m
m el 16 de Ag. de 2013
OK OK ,after delete my resample function it works well... thanks so much
Jan
Jan el 16 de Ag. de 2013
No problem... but next time check which answer you chose as 'accepted answer' (:
m
m el 16 de Ag. de 2013
yes,sorry..

Iniciar sesión para comentar.

Más respuestas (1)

Jan
Jan el 16 de Ag. de 2013

0 votos

If you have the Signalprocessing Toolbox use resample() or decimate()
If not, look at interp1()

Productos

Preguntada:

m
m
el 16 de Ag. de 2013

Community Treasure Hunt

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

Start Hunting!

Translated by