phase noise dbc/hz matlab
bkhoa said:
Please help me about Matlab code (M.file) for "phase noise" (How to simulate the phase noise).
1. The phase noise due to laser diode
2. The phase noise due to Local oscillator
Your help is highly appreciated.
this is for OSCILLATOR:
https://www.mathworks.com/matlabcentral/fileexchange/loadFile.do?objectId=8844&objectType=file
Description:
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 );