Ideal Filter - Windowed - DTFT/Highpass

  • Thread starter Thread starter DSRadin
  • Start date Start date
  • Tags Tags
    Filter
AI Thread Summary
The discussion revolves around finding the spectrum H_3(e^{jω}) of the windowed function h_{dd}(n) using the given high-pass filter H_{dd}(e^{jω}). The initial attempt involved synthesizing h_{dd}(n) through integration, resulting in a sine function. However, the user encountered an issue where the plotted output was constant for varying N, leading to confusion about a potential mathematical error. It was later discovered that the problem stemmed from a simple typo in the MATLAB code related to the loop indexing. The thread highlights the importance of careful coding in signal processing tasks.
DSRadin
Messages
12
Reaction score
1

Homework Statement


Given:
H_{dd}\left(e^{j\omega}\right)=j\omega e^{\frac{-j\omega}{2}}, \left|\omega\right|\le\pi

Find: H_{3}\left(e^{j\omega}\right) where
H_{3}\left(e^{j\omega}\right) is the spectrum of h_{dd}\left(n\right)\left(W_N\left(n\right)\right) and W_N\left(n\right)=1 for \frac{-N}{2}\le n \le \frac{N}{2} , 0 else


Homework Equations


DTFT Synthesis: \frac{1}{2\pi}\int_{-\pi}^{\pi} H\left(e^{j\omega}\right)e^{j\omega n}d\omega
DTFT Analysis: \sum_{n=\frac{-N}{2}}^{\frac{N}{2}} h(n)e^{-j\omega n}

The Attempt at a Solution



Step 1: Synthesis h_{dd}\left(n\right). This is done through integration by parts and my result is:

h_{dd}(n)=-sin\left(\pi\left(n-\frac{1}{2}\right)\right)

Step 2: Window - ok. -\frac{N}{2}\le n \le \frac{N}{2} is the new range.

Step 3: DTFT windowed function result:
H_3\left(e^{j\omega}\right) = -\sum_{n=-N/2}^{N/2} \frac{sin\left(\pi n - \frac{\pi}{2}\right)}{\pi \left(n-1/2\right)^2}e^{-j\omega n}

Really cool - but when plotted versus frequency, I get a constant, regardless of the size of N.
The goal of this problem was to prove that as N--> big that the filter approaches the ideal high-pass differentiator. I must have made a mistake somewhere but I'm not sure where, if anyone could see if they receive a different result I would be much obliged. Thanks!

-DR
 
Physics news on Phys.org
Found my mistake - it turns out that the above is actually correct and corresponds to Sum( (-1)^(n-1/2)/(denom) * e^-jwn).

There was an error in my MATLAB code (ridiculous error) where my for loop looked like:

for i=length(n)

instead of

for i=1:length(n)

hence the reason I was only getting one constant value... You think it's some important mistake in your math and it turns out to be a typo.

Oh well, Go Bears.
 
Back
Top