1
$\begingroup$

We use $\ z^{-1} \xrightarrow{} \frac{z^{-1}-\alpha}{1-{\alpha}z^{-1}}$ and $ \alpha = \frac{\sin(\omega_c^{'}-\omega_c)/2}{\sin(\omega_c^{'}+\omega_c)/2}$ for a lowpass-to-lowpass frequency transformation, where $\omega'_c$ is the cut-off frequency of the prototype lowpass filter, and $\omega_c$ is the cut-off frequency of the transformed lowpass filter.

In practice we know the desired edge frequencies $\ \omega_s$ and $\ \omega_p$ and we are required to find the prototype lowpass cutoff frequencies $\ \omega_s^{'}$ and $\ \omega_p^{'}$.

For calculating $\ \alpha$ we have to know $\ \omega_c^{'}$ . If we calculate $\ \alpha$ we can have $\ \omega_s^{'}$ by $\ \omega_s^{'} = \angle{(\frac{e^{-j\omega_s}+\ \alpha}{1-\alpha e^{-j\omega_s}})}$ But I don't know how select a suitable $\ \omega_p^{'}$.

$\endgroup$
  • $\begingroup$ You forgot to explain what you're trying to do. You don't need a lowpass-to-lowpass transformation in the discrete domain in order to design a discrete-time filter from an analog prototype. $\endgroup$ – Matt L. Jul 21 at 10:41
  • $\begingroup$ Hi. My problem is question P8.36 of "Digital Signal Processing using matlab: Ingle and Proakis". The question says write a MATLAB function to determine the lowpass prototype digital filter frequencies from an arbitrary lowpass digital filter specifications using the formula above. $\endgroup$ – Mohammadsadeq Borjiyan Jul 21 at 13:36
0
$\begingroup$

The prototype filter is not uniquely defined by the two band edges of the filter to be designed. So you have to choose one of the two edge frequencies of the prototype filter. E.g., if you choose $\omega'_p$, you can compute the value of $\alpha$ according to

$$\alpha=\frac{\sin[(\omega'_p-\omega_p)/2]}{\sin[(\omega'_p+\omega_p)/2]}\tag{1}$$

where $\omega_p$ is the desired pass band edge. Now that you have $\alpha$, the stop band edge of the prototype filter can be computed from the desired stop band edge $\omega_s$:

$$\omega'_s=-\angle\left(\frac{e^{-j\omega_s}-\alpha}{1-\alpha e^{-j\omega_s}}\right)\tag{2}$$


EDIT: the lowpass-to-lowpass transformation

$$z^{-1}\longrightarrow\frac{z^{-1}-\alpha}{1-\alpha z^{-1}}\tag{3}$$

transforms a prototype edge frequency $\omega'_s$ in the following way:

$$e^{-j\omega'_s}=\frac{e^{-j\omega_s}-\alpha}{1-\alpha e^{-j\omega_s}}\tag{4}$$

From $(4)$ it follows that

$$-\omega'_s=\angle\left(\frac{e^{-j\omega_s}-\alpha}{1-\alpha e^{-j\omega_s}}\right)\tag{5}$$

which is equivalent to $(2)$.

Note that Eq. $(5)$ is different from Eq. $(8.71)$ in the book because $(8.71)$ is derived from a lowpass-to-highpass transformation.

| improve this answer | |
$\endgroup$
  • $\begingroup$ I want to write a MATLAB function for this, so the problem isn't a special case. The MATLAB code is: % LP-to-LP frequency-band transformation: function [wpLP,wsLP,alpha] = lp2lpfre(wplp,wslp) wpLP = 0.2*pi; alpha = (sin((wplp-wpLP)/2))/(sin((wplp+wpLP)/2)); wsLP = angle((exp(-1iwslp)-alpha)/(1-alphaexp(-1i*wslp))); For example, for wplp=0.45*pi and wslp=0.5*pi, if we choose wpLP equal to 0.2*pi, this amounts give us wsLP=-2.7749 and alpha=0.6871.That is obviously wrong because wsLP is less than wpLP and furthermore it is a negative value! So where is false??? $\endgroup$ – Mohammadsadeq Borjiyan Jul 22 at 9:44
  • $\begingroup$ @MohammadsadeqBorjiyan: My answer is not about a "special case", it's totally general. It has enough information to write the corresponding Matlab routine. I'm afraid you'll have to write the routine yourself. Also, using the formulas in my answer I don't arrive at the numbers given in your comment. $\endgroup$ – Matt L. Jul 22 at 16:26
  • $\begingroup$ Thanks dear Matt. If I use the equations you have written a reasonable response will be obtained, but I don't figure out what is that negative sign in angle formula. In page 451, Table 8.2 of the book: Digital Signal Processing using MATLAB, and also in Table 7.1 of Discrete-time Signal Processing Oppenheim 3rd edition, we have no negative sign in formula. We have a negative sign in high pass transformation formula but no negative sign for lowpass one. What is that negative sign in your formula? Sincere thanks. $\endgroup$ – Mohammadsadeq Borjiyan Jul 23 at 8:49
  • $\begingroup$ @MohammadsadeqBorjiyan: I've added an explanation of Eq. (2) to my answer. $\endgroup$ – Matt L. Jul 23 at 12:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.