Hello hafez,
I am designing the polyphase filter and am stuck at the exactly same problem as yours.
Cadence recommends following way to do the noise simulation in Complex filters: -
Problem
You are trying to do a Spectre noise simulation of a circuit with multiple inputs and/or outputs.
However, the noise setup has the following restriction: only one port/source and only one output node/port can be specified.Is it possible to use SpectreRF in this case? If yes, how?
Solution
The answer is - yes: you can solve your problem using "principle of superposition".
For example, you have a complex filter with two inputs Iin, Qin and two outputs Iout and Qout in your LowIF receiver:
According to principle of superposition you can calculate the output spectra as follows.
1. Set ac-amplitudes of both input ports: portI = 1, portQ = 0.
2. Using AC analysis calculate the I- and Q - output voltages and save as the transfer functions HII(f) and HIQ(f) respectively.
3. Set ac-amplitudes of both input ports: portI = 0, portQ = 1.
4. Using AC analysis calculate both I- and Q - output voltages and save as the transfer functions HQI(f) and HQQ(f) respectively.
5. Calculate both I- and Q- output spectra:
Iout(f) = HII(f) * Iin(f) + HQI(f) * Qin(f);
Qout(f) = HQQ(f) * Qin(f) + HIQ(f) * Iin(f).
After step 2 you can calculate output noise (V**2/Hz) when only portI is active:
- at Iout: Ioutn_I(f);
- at Qout: Qoutn_I(f).
Note: Spectre calculates 'SSBnoise' = 2 * 'DSB noise'.
After step 3 you can calculate output noise (V**2/Hz) when only portQ is active:
- at Iout: Ioutn_Q(f);
- at Qout: Qoutn_Qf).
Now you can calculate the total otput noise (V**2/Hz) at both outputs:
Ioutn(f) = Ioutn_I(f) + Ioutn_Q(f);
Qoutn(f) = Qoutn_I(f) + Qoutn_Q(f);
______________________________________________________________________________
Now even after doing all this I see that input referred noise is double that of output referred noise. I don't know why this is happening. Please let me know if you have got the answer.
Thanks
Megh