No License
function Sout = add_phase_noise( Sin, Fs, phase_noise_freq, phase_noise_power )
Oscillator Phase Noise Model
INPUT:
Sin - input COMPLEX signal
Fs - sampling frequency ( in Hz ) of Sin
phase_noise_freq - frequencies at which SSB Phase Noise is defined (offset from carrier in Hz)
phase_noise_power - SSB Phase Noise power ( in dBc/Hz )
OUTPUT:
Sout - output COMPLEX phase noised signal
NOTE:
Input signal should be complex
EXAMPLE ( How to use add_phase_noise ):
Assume SSB Phase Noise is specified as follows:
-------------------------------------------------------
| Offset From Carrier | Phase Noise |
-------------------------------------------------------
| 1 kHz | -84 dBc/Hz |
| 10 kHz | -100 dBc/Hz |
| 100 kHz | -96 dBc/Hz |
| 1 MHz | -109 dBc/Hz |
| 10 MHz | -122 dBc/Hz |
-------------------------------------------------------
Assume that we have 10000 samples of complex sinusoid of frequency 3 KHz
sampled at frequency 40MHz:
Fc = 3e3; % carrier frequency
Fs = 40e6; % sampling frequency
t = 0:9999;
S = exp(j*2*pi*Fc/Fs*t); % complex sinusoid
Then, to produse phase noised signal S1 from the original signal S run follows:
Fs = 40e6;
phase_noise_freq = [ 1e3, 10e3, 100e3, 1e6, 10e6 ]; % Offset From Carrier
phase_noise_power = [ -84, -100, -96, -109, -122 ]; % Phase Noise power
S1 = add_phase_noise( S, Fs, phase_noise_freq, phase_noise_power );
Cite As
Alex Bar-Guy (2024). Phase Noise (https://www.mathworks.com/matlabcentral/fileexchange/8844-phase-noise), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
Tags
Acknowledgements
Inspired: microwae engineering
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
Version | Published | Release Notes | |
---|---|---|---|
1.0.0.0 | 1) Comments
|