Phase Noise

Oscillator Phase Noise Model
14,6K téléchargements
Mise à jour 8 déc. 2005

Aucune licence

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 );

Citation pour cette source

Alex Bar-Guy (2026). Phase Noise (https://fr.mathworks.com/matlabcentral/fileexchange/8844-phase-noise), MATLAB Central File Exchange. Extrait(e) le .

Compatibilité avec les versions de MATLAB
Créé avec R13SP1
Compatible avec toutes les versions
Plateformes compatibles
Windows macOS Linux
Catégories
En savoir plus sur Spectral Measurements dans Help Center et MATLAB Answers
Remerciements

A inspiré : microwae engineering

Version Publié le Notes de version
1.0.0.0

1) Comments
2) Validation
3) Small bug in ifft normalization