Autor Tema: Se puede calcular un filtro hilbert para usare en un dsPIC?  (Leído 3008 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado victor_320

  • PIC10
  • *
  • Mensajes: 7
Se puede calcular un filtro hilbert para usare en un dsPIC?
« en: 19 de Agosto de 2010, 21:22:51 »
Me estaba preguntando si podría calcular un filtro FIR que desfase 90º en un margen de frecuencias, o sea, un filtro de hilbert (transformada de hilbert).

Si pudiese hacer eso con una dsPIC de manera "rápida" me sería muy útil para demodular señales.

Que me decis? Si es puede, conoceis algun software que me calcule los coeficientes?

Desconectado cerebro

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 735
Re: Se puede calcular un filtro hilbert para usare en un dsPIC?
« Respuesta #1 en: 20 de Agosto de 2010, 11:38:23 »
No se que será rápida pero con un Dspic hablamos de unos 40 o 50 MIPS. Para análisis de señal MATLAB por lejos de cualquier otro soft, el comando de calculo es remez
Código: [Seleccionar]
Parks-McClellan FIR filter design
The MATLAB command


   
   b = remez(N,F,A) %fijate la ayuda porque aca le falta un parametro  :)
   
 
returns the impulse response of the length N+1 linear phase FIR filter of order N designed by Parks-McClellan algorithm.
F is a vector of frequency band edges in ascending order between 0 and 1 with 1 corresponding to the half sampling rate.
A is a real vector of the same size as F which specifies the desired amplitude of the frequency response of the
points (F(k),A(k)) and (F(k+1),A(k+1)) for odd k. For odd k, the bands between F(k+1) and F(k+2) is considered
 as transition bands.


Este ejemplo lo encontré en el MathCentral

Código: [Seleccionar]
QUADRATURE DEMODULATOR
********************************************
      Which calculate product of input signal and input signal with a
90º phase. This is a heavily use FM demodulator because it is quite
easy to build as an Integrated Circuit.

  You can calculate de 90º phase signal usign, for example, Hilbert
filter:

--------------------------------------------
% 1.- Forzamos orden par
orden = abs(2*ceil(orden/2));

% 2.- Filtro FIR de Hilbert de fase lineal
N = orden + 1;
f = 0.1:0.001:0.901; % Frecuencias donde la fase es lineal
a = ones(length(f)); % Amplitud constante en toda la banda
H = remez(orden, f, a, 'hilbert'); %

---------------------------------------------

Suerte.
Saludos!

edit: Podrías contarnos para que se utilizan estos filtros y cuales son sus ventajas  :mrgreen:.
« Última modificación: 20 de Agosto de 2010, 11:41:06 por cerebro »
LAS MALVINAS SON ARGENTINAS!

Desconectado victor_320

  • PIC10
  • *
  • Mensajes: 7
Re: Se puede calcular un filtro hilbert para usare en un dsPIC?
« Respuesta #2 en: 20 de Agosto de 2010, 12:16:47 »
Los filtros de hilbert desfasan 90 grados la fase de la señal que le atraviesa.

Sirve para generar modulaciones de BLU y para demodularlas entre otras muchisimas aplicaciones.

En mi caso, quiero hacer un demodulador con un dspic, o sea una radio definida por software y para la modulacion de banda lateral unica necesito en concreto implementar un filtro de hilbert.


 

anything