How to test if two signals are equal

Hello, I have computed by hand the frequency domain transfer function from a difference equation of a digital filter. I wanted to test if my computation is right, so I implemented both the difference equation and the frequency domain transfer function in Matlab. I chose a signal and I sent it through both of them separately. Now, how do I test if the two filtered signals are equal?
Thanks.

 Respuesta aceptada

Wayne King
Wayne King el 25 de Nov. de 2011
As a simple example of my answer:
"Why do you need to input a signal? If you have the Fourier transform of your filter and the coefficients that give the difference equation, then just use freqz() with the coefficients to see if you have the correct Fourier transform. "
% coefficients from linear constant coefficient difference equation
% use freqz() to compute the frequency response
[H,W] = freqz([1/sqrt(2) 1/sqrt(2)],1);
% Compare to calculated Fourier transform
omega = 0:pi/512:pi-(pi/512);
FT = sqrt(2)*exp(-1j*omega./2).*cos(omega./2);
plot(W,abs(H)); hold on;
plot(W,abs(FT),'r-.','linewidth',2);

Más respuestas (2)

Image Analyst
Image Analyst el 25 de Nov. de 2011

0 votos

Did you try subtracting them and seeing if all the elements are zero (or really close to zero)?

2 comentarios

Italo
Italo el 25 de Nov. de 2011
That was a good suggestion.
However it doesn't work in this case. The two filtered signals are out of phase. This means that when I substract them, the result is a signal with all the peaks of the operands.
Image Analyst
Image Analyst el 25 de Nov. de 2011
Maybe try normalized cross correlation using normxcorr2() in the Image Processing Toolbox. Look for high values indicating it is well aligned for some shift.

Iniciar sesión para comentar.

Wayne King
Wayne King el 25 de Nov. de 2011

0 votos

Why do you need to input a signal? If you have the Fourier transform of your filter and the coefficients that give the difference equation, then just use freqz() with the coefficients to see if you have the correct Fourier transform.

Categorías

Más información sobre Signal Processing Toolbox en Centro de ayuda y File Exchange.

Preguntada:

el 25 de Nov. de 2011

Community Treasure Hunt

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

Start Hunting!

Translated by