Hey, muchas gracias Humphrey
eso seguro que es lo que necesito, lo he estado provando pero no logro obtenerlo con exactitud...
te pongo mi ejemplo a ver si me puedes ayudar:
(te recuerdo mi objetivo, tengo la funcion s que crea un sonido con determinados armonicos, y a partir de la cual quiero diseñar mi filtro
por eso hago la transformada, la paso a frecuencias y opero segun tu me diciste,... para luego poder filtar algun archivo de audio)
fm=44100; %frecuencia de muestreo (para audio)
fp=440; %frecuencia fundamental del sonido
w=2*pi*fp
d=4.0; % duracion en segundos
t=0:1/fm:d; % Vector de tiempo
%%%% esta es la funcion que me crea el sonido con sus armonicos
s = sin(w*t) + 0.7*sin(3*w*t) + 0.2*sin(7*w*t) + 0.6*sin(9*w*t) + 0.3*sin(11*w*t);
[X,Fs,NBITS]=wavread('NOTAa440.wav'); %leo el .wav que quiero filtrar ... supongo que se guarda en X
% -----------------------> parte del codigo tuyo
IR=fft(s)
frec= linspace(0,length(IR),500); % Tomo 500 muestras de todo mi espectro. IR es mi vector con respuesta en frec
frec= round(frec); % redondeo para que no de problemas
frec1= frec/max(frec); % Normalizar a 1
frecA= [1 frec(2:end)]; % frecuencias. Cojo desde 2 hasta el final, para no coger el indice 0
Amp=IR(frecA); % Amplitud
B=fir2(250,frec1,Amp); % coeficientes del filtro
%B = fdesign.arbmag(250,frec1,abs(Amp)); %es otra opcion de diseñar un filtro (que de momento no se utilizar)
%---------------------> A PARTIR DE AQUI ES DONDE TENGO DUDAS
plot(frec1,Amp); % con eso debería ver la forma del filtro, pero NO se parece con el espectro de la señal "s"
final=conv(B, X); %supongo que es la manera valida de filtrar una vez creado el filtro, o mejor con la funcion "filter" ??
soundsc(final,fm);
----------------------> pero me salen estos errores (que yo sepa A y B que es la X, ya son vectores... que problema hay??)
??? Error using ==> conv
A and B must be vectors.
Error ==> at 42
final=conv(B, X);
---------------------> crees que es como lo devo hacer?? o lo tengo que hacer de otra forma para conseguir mi objetivo?
saludos
