Skip to main content
7 events
when toggle format what by license comment
Aug 30, 2021 at 16:59 comment added a concerned citizen If the order cannot be calculated to give unity magnitude at the desired frequency, or if the order is fixed, then the only way to compensate is with a gain: either amplify the imaginary part or attenuate the real part. Or account for the magnitude difference when calculating the phase shift, same thing. The gain can be calculated by evaluating the transfer function at that frequency, $H(j\Omega_f)$. You will lose some numeric precision, but as long as the signal doesn't need to be amplified by tens or hundreds or more, you should be fine.
Aug 30, 2021 at 15:06 comment added a concerned citizen @trxrg I have asked around people who have access to Matlab and they told me that the block is composed of a FIR and a delay of half the filter's order, in parallel, with the delay giving the real part and the FIR the imaginary. So any difference is only due to the filter, and its order needs to be calculated according to the algorithm that is used. Here the FIR uses a Kaiser window so the order is calculated with Kaiser's formula:$$N=\dfrac{A_s-7.95}{2.285\omega_{tw}}$$This is not a universal formula, but all of them revolve around $\omega_{tw}$ (and, maybe $A_s$).
Aug 30, 2021 at 6:44 comment added trxrg How can I calculate the necessary filter order?
Aug 30, 2021 at 6:39 comment added trxrg Is it possible to compensate this amplitude difference with a gain? In order to avoid making the system slower by increasing the filter order.
Aug 30, 2021 at 6:39 comment added trxrg With this amplitude difference between the real and imaginary parts of the signal, is it possible to get a correct result from phase shift operation, (I am concerned only with the real part after the phase shift)?
Aug 30, 2021 at 6:15 vote accept trxrg
Aug 29, 2021 at 20:07 history answered a concerned citizen CC BY-SA 4.0