4.66667

4.7 | 6 ratings Rate this file 92 downloads (last 30 days) File Size: 9.67 KB File ID: #8844

Phase Noise

by Alex Bar-Guy

 

27 Oct 2005 (Updated 08 Dec 2005)

No BSD License  

Oscillator Phase Noise Model

Download Now | Watch this File

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

MATLAB release MATLAB 6.5.1 (R13SP1)
Other requirements -
Tags for This File  
Everyone's Tags
Tags I've Applied
Add New Tags Please login to tag files.
Comments and Ratings (11)
08 Nov 2006 Ming-Yu Hsieh

This model is very adequate for ofdm system.

14 Dec 2006 Madhukar Ramamurthy  
19 Dec 2006 thomas höhne

Great work. Easy to adapt to own needs. The plot of the generated PSD could be done better.

01 Aug 2007 john kedziora

Works very well!

20 Feb 2008 chuntel Lin

thank you

20 Feb 2008 CT Lin

thank you

18 May 2008 Agus Suhendar

i have problem, hope u can help me..
after qam mapping and ifft the signal is in time domain and complex form, with BW=7 MHz the problem is how to sampling the complex time domain signal with sampling factor=8/7 or Fs=8MHz
thanxs b4..

06 Oct 2008 Nick A

This approach is very elegant. However, it limits the amount of low frequency phase noise extracted from the PSD by the original sampling frequency. Any ideas about circumventing this limitation?
Thanks
Nick

02 Dec 2008 wendy

how come i run this program but it says Not enough input arguments. ?

03 Dec 2008 xu zhenhua

xie xie

12 Dec 2008 sia yousef

Hi I wonder how this model can satisfy the real shape of the oscillator that firs we have a 1/f^3 and then 1/f^2 and then noise floor.
and it doesn't have close to carrier phase noise.
I don't know how based on which model you generate phase noise?
thanks

Please login to add a comment or rating.
Updates
08 Dec 2005

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

Tag Activity for this File
Tag Applied By Date/Time
phase noise model Alex Bar-Guy 22 Oct 2008 08:04:58
oscillator Alex Bar-Guy 22 Oct 2008 08:04:58
dbc Alex Bar-Guy 22 Oct 2008 08:04:58
hz Alex Bar-Guy 22 Oct 2008 08:04:58
fs Alex Bar-Guy 22 Oct 2008 08:04:58
frequency Alex Bar-Guy 22 Oct 2008 08:04:58
offset Alex Bar-Guy 22 Oct 2008 08:04:58
noise Alex Bar-Guy 22 Oct 2008 08:04:58
 

MATLAB Central Terms of Use

NOTICE: Any content you submit to MATLAB Central, including personal information, is not subject to the protections which may be afforded information collected under other sections of The MathWorks, Inc. Web site. You are entirely responsible for all content that you upload, post, e-mail, transmit or otherwise make available via MATLAB Central. The MathWorks does not control the content posted by visitors to MATLAB Central and, does not guarantee the accuracy, integrity, or quality of such content. Under no circumstances will The MathWorks be liable in any way for any content not authored by The MathWorks, or any loss or damage of any kind incurred as a result of the use of any content posted, e-mailed, transmitted or otherwise made available via MATLAB Central. Read the complete Terms prior to use.

Contact us at files@mathworks.com