Hi Jon,
I understand that you want to know the difference between 'fdesign.pulseshaping' and 'rcosdesign' and why the coefficients obtained from 'rcosdesign' function are normalized.
It's important to note that the 'fdesign.pulseshaping' function has been deprecated as of R2023b, making 'rcosdesign' the recommended alternative.
Here are the significant differences between the 'rcosdesign' and 'fdesign.pulseshaping' functions that will help you understand them better:
Scaling Factor
- 'fdesign.pulseshaping' includes a normalization factor, ensuring no gain is introduced to the signal during filtering.
- 'rcosdesign' introduces a gain in the signal, as observed in the impulse response plot, which might not be desirable for all applications.
Signal Gain:
- In 'fdesign.pulseshaping', there's no gain applied to the signal, making it preferable for applications where maintaining the original signal amplitude is critical.
- In contrast, 'rcosdesign' can increase the signal's amplitude, which may need to be adjusted based on the application's requirements.
Moreover, the coefficients of 'rcosdesign' are normalized to match those from the 'fdesign.pulseshaping' function, ensuring a smooth replacement without impacting the output's integrity.
You can observe the differences mentioned above through the provided workaround:
d = fdesign.pulseshaping(sps,'Square Root Raised Cosine', 'Nsym,Beta',span,Beta);
filt = design(d).Numerator;
n1n = rcosdesign(Beta, span, sps);
n1n = n1n / max(n1n) * (-1/(pi*sps) * (pi*(Beta-1) - 4*Beta))
You can learn more about 'rcosdesign' through the provided documentation:
I hope this answers your query.
Thanks