реклама на сайте
подробности

 
 
> Модель фазового шума
Grizzzly
сообщение Jun 10 2015, 15:39
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 565
Регистрация: 22-02-13
Пользователь №: 75 748



Тут коллеги моделируют фазовый шум. Разбирают код, взятый с MATLAB File Exchange: http://www.mathworks.com/matlabcentral/fil...844-phase-noise
Сам код:
CODE
function Sout = add_phase_noise( Sin, Fs, phase_noise_freq, phase_noise_power, VALIDATION_ON )
%
% function Sout = add_phase_noise( Sin, Fs, phase_noise_freq, phase_noise_power, VALIDATION_ON )
%
% 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 )
% VALIDATION_ON - 1 - perform validation, 0 - don't perfrom validation
%
% 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 produce 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 );

% Version 1.0
% Alex Bur-Guy, October 2005
% alex@wavion.co.il
%
% Revisions:
% Version 1.5 - Comments. Validation.
% Version 1.0 - initial version

% NOTES:
% 1) The presented model is a simple VCO phase noise model based on the following consideration:
% If the output of an oscillator is given as V(t) = V0 * cos( w0*t + phi(t) ),
% then phi(t) is defined as the phase noise. In cases of small noise
% sources (a valid assumption in any usable system), a narrowband modulation approximation can
% be used to express the oscillator output as:
%
% V(t) = V0 * cos( w0*t + phi(t) )
%
% = V0 * [cos(w0*t)*cos(phi(t)) - sin(w0*t)*sin(phi(t)) ]
%
% ~ V0 * [cos(w0*t) - sin(w0*t)*phi(t)]
%
% This shows that phase noise will be mixed with the carrier to produce sidebands around the carrier.
%
%
% 2) In other words, exp(j*x) ~ (1+j*x) for small x
%
% 3) Phase noise = 0 dBc/Hz at freq. offset of 0 Hz
%
% 4) The lowest phase noise level is defined by the input SSB phase noise power at the maximal
% freq. offset from DC. (IT DOES NOT BECOME EQUAL TO ZERO )
%
% The generation process is as follows:
% First of all we interpolate (in log-scale) SSB phase noise power spectrum in M
% equally spaced points (on the interval [0 Fs/2] including bounds ).
%
% After that we calculate required frequency shape of the phase noise by X(m) = sqrt(P(m)*dF(m))
% and after that complement it by the symmetrical negative part of the spectrum.
%
% After that we generate AWGN of power 1 in the freq domain and multiply it sample-by-sample to
% the calculated shape
%
% Finally we perform 2*M-2 points IFFT to such generated noise
% ( See comments inside the code )
%
% 0 dBc/Hz
% \ /
% \ /
% \ /
% \P dBc/Hz /
% .\ /
% . \ /
% . \ /
% . \____________________________________________/ /_ This level is defined by the phase_noise_power at the maximal freq. offset from DC defined in phase_noise_freq
% . \
% |__| _|__|__|__|__|__|__|__|__|__|__|__|__|__|__|__|__|__|__|__ (N points)
% 0 dF Fs/2 Fs
% DC
%
%
% For some basics about Oscillator phase noise see:
% http://www.circuitsage.com/pll/plldynamics.pdf
%
% http://www.wj.com/pdf/technotes/LO_phase_noise.pdf

if nargin < 5
VALIDATION_ON = 0;
end

% Check Input
error( nargchk(4,5,nargin) );

if ~any( imag(Sin(:)) )
error( 'Input signal should be complex signal' );
end
if max(phase_noise_freq) >= Fs/2
error( 'Maximal frequency offset should be less than Fs/2');
end

% Make sure phase_noise_freq and phase_noise_power are the row vectors
phase_noise_freq = phase_noise_freq(:).';
phase_noise_power = phase_noise_power(:).';
if length( phase_noise_freq ) ~= length( phase_noise_power )
error('phase_noise_freq and phase_noise_power should be of the same length');
end

% Sort phase_noise_freq and phase_noise_power
[phase_noise_freq, indx] = sort( phase_noise_freq );
phase_noise_power = phase_noise_power( indx );

% Add 0 dBc/Hz @ DC
if ~any(phase_noise_freq == 0)
phase_noise_power = [ 0, phase_noise_power ];
phase_noise_freq = [0, phase_noise_freq];
end

% Calculate input length
N = prod( size( Sin ) );

% Define M number of points (frequency resolution) in the positive spectrum
% (M equally spaced points on the interval [0 Fs/2] including bounds),
% then the number of points in the negative spectrum will be M-2
% ( interval (Fs/2, Fs) not including bounds )
%
% The total number of points in the frequency domain will be 2*M-2, and if we want
% to get the same length as the input signal, then
% 2*M-2 = N
% M-1 = N/2
% M = N/2 + 1
%
% So, if N is even then M = N/2 + 1, and if N is odd we will take M = (N+1)/2 + 1
%
if rem(N,2), % N odd
M = (N+1)/2 + 1;
else
M = N/2 + 1;
end


% Equally spaced partitioning of the half spectrum
F = linspace( 0, Fs/2, M ); % Freq. Grid
dF = [diff(F) F(end)-F(end-1)]; % Delta F


% Perform interpolation of phase_noise_power in log-scale
intrvlNum = length( phase_noise_freq );
logP = zeros( 1, M );
for intrvlIndex = 1 : intrvlNum,
leftBound = phase_noise_freq(intrvlIndex);
t1 = phase_noise_power(intrvlIndex);
if intrvlIndex == intrvlNum
rightBound = Fs/2;
t2 = phase_noise_power(end);
inside = find( F>=leftBound & F<=rightBound );
else
rightBound = phase_noise_freq(intrvlIndex+1);
t2 = phase_noise_power(intrvlIndex+1);
inside = find( F>=leftBound & F<rightBound );
end
logP( inside ) = ...
t1 + ( log10( F(inside) + realmin) - log10(leftBound+ realmin) ) / ( log10( rightBound + realmin) - log10( leftBound + realmin) ) * (t2-t1);
end
P = 10.^(real(logP)/10); % Interpolated P ( half spectrum [0 Fs/2] ) [ dBc/Hz ]

% Now we will generate AWGN of power 1 in frequency domain and shape it by the desired shape
% as follows:
%
% At the frequency offset F(m) from DC we want to get power Ptag(m) such that P(m) = Ptag/dF(m),
% that is we have to choose X(m) = sqrt( P(m)*dF(m) );
%
% Due to the normalization factors of FFT and IFFT defined as follows:
% For length K input vector x, the DFT is a length K vector X,
% with elements
% K
% X(k) = sum x(n)*exp(-j*2*pi*(k-1)*(n-1)/K), 1 <= k <= K.
% n=1
% The inverse DFT (computed by IFFT) is given by
% K
% x(n) = (1/K) sum X(k)*exp( j*2*pi*(k-1)*(n-1)/K), 1 <= n <= K.
% k=1
%
% we have to compensate normalization factor (1/K) multiplying X(k) by K.
% In our case K = 2*M-2.

% Generate AWGN of power 1

if ~VALIDATION_ON
awgn_P1 = ( sqrt(0.5)*(randn(1, M) +1j*randn(1, M)) );
else
awgn_P1 = ( sqrt(0.5)*(ones(1, M) +1j*ones(1, M)) );
end

% Shape the noise on the positive spectrum [0, Fs/2] including bounds ( M points )
X = (2*M-2) * sqrt( dF .* P ) .* awgn_P1;

% Complete symmetrical negative spectrum (Fs/2, Fs) not including bounds (M-2 points)
X( M + (1:M-2) ) = fliplr( conj(X(2:end-1)) );

% Remove DC
X(1) = 0;

% Perform IFFT
x = ifft( X );

% Calculate phase noise
phase_noise = exp( j * real(x(1:N)) );

% Add phase noise
if ~VALIDATION_ON
Sout = Sin .* reshape( phase_noise, size(Sin) );
else
Sout = 'VALIDATION IS ON';
end

if VALIDATION_ON
figure;
plot( phase_noise_freq, phase_noise_power, 'o-' ); % Input SSB phase noise power
hold on;
grid on;
plot( F, 10*log10(P),'r*-'); % Input SSB phase noise power
X1 = fft( phase_noise );
plot( F, 10*log10( ( (abs(X1(1:M))/max(abs(X1(1:M)))).^2 ) ./ dF(1) ), 'ks-' );% generated phase noise exp(j*x)
X2 = fft( 1 + j*real(x(1:N)) );
plot( F, 10*log10( ( (abs(X2(1:M))/max(abs(X2(1:M)))).^2 ) ./ dF(1) ), 'm>-' ); % approximation ( 1+j*x )
xlabel('Frequency [Hz]');
ylabel('dBc/Hz');
legend( ...
'Input SSB phase noise power', ...
'Interpolated SSB phase noise power', ...
'Positive spectrum of the generated phase noise exp(j*x)', ...
'Positive spectrum of the approximation ( 1+j*x )' ...
);
end


У них возник вопрос по строчке:
Код
X = (2*M-2) * sqrt( dF .* P ) .* awgn_P1;


Почему мы формируем спектр требуемого фазового шума, умножая awgn_P1, а не fft(awgn_P1)?
Сейчас задумался, вроде бы действительно надо перейти в частотную область, чтобы получить равномерный спектр, затем его умножить на характеристику генератора, а потом сделать ifft. Или же можно считать, что awgn_P1 уже в частотной области, поскольку ограничения на вид распределения у нас нет?

Нашел статейку. Там как раз к отсчетам АБГШ применяется fft. Как всё-таки правильно?

Сообщение отредактировал Grizzzly - Jun 10 2015, 15:40
Go to the top of the page
 
+Quote Post
5 страниц V   1 2 3 > »   
Start new topic
Ответов (1 - 63)
des00
сообщение Jun 10 2015, 17:12
Сообщение #2


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(Grizzzly @ Jun 10 2015, 22:39) *
Почему мы формируем спектр требуемого фазового шума, умножая awgn_P1, а не fft(awgn_P1)?

Потому что характер фазового шума синтезаторного оборудования во временной области далек от AWGN, т.е. его отчеты не независимы. Убедится в этом просто, возьмите 2 генератора, : шумящий и эталонный. Засинхронизируйте шумящий от эталонного и вычтите сигналы друг из друга после фазирования. Увидите непосредственно ФШ. Затем сгенерируйте AWGN, пропустите через фильтр и сравните что получилось. Должны сильно удивиться. Ну либо мне повезло и я удивился sm.gif

Что касается вопросов генерации ФШ, то если стоит задача случайно замоделировать фазу несущей (положим дела связные), то модель в вашем посте, свою задачу решает. Но, если брать именно физический смысл ФШ в синтезаторах, то ИМХО нужно генерировать ФШ во временной области, используя специальные модели генерации ФШ. Правда в них напрямую не задашь маску, она задается косвенно.


--------------------
Go to the top of the page
 
+Quote Post
Grizzzly
сообщение Jun 10 2015, 17:21
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 565
Регистрация: 22-02-13
Пользователь №: 75 748



Цитата(des00 @ Jun 10 2015, 20:12) *
Потому что характер фазового шума синтезаторного оборудования во временной области далек от AWGN, т.е. его отчеты не независимы.

Спасибо)
Цитата(des00 @ Jun 10 2015, 20:12) *
Но, если брать именно физический смысл ФШ в синтезаторах, то ИМХО нужно генерировать ФШ во временной области, используя специальные модели генерации ФШ. Правда в них напрямую не задашь маску, она задается косвенно.

А не могли бы подсказать, как они называются?
Go to the top of the page
 
+Quote Post
des00
сообщение Jun 10 2015, 17:26
Сообщение #4


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(Grizzzly @ Jun 11 2015, 00:21) *
А не могли бы подсказать, как они называются?

Уже только завтра, из головы вылетело, а вся информация на рабочем компе. На форуме поищите мою тему в алгоритмах, там выложена симулинк модель корректора ФШ, на основе адаптивного предсказания ФШ. Вроде какие то модели были там.


--------------------
Go to the top of the page
 
+Quote Post
Grizzzly
сообщение Jun 10 2015, 17:28
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 565
Регистрация: 22-02-13
Пользователь №: 75 748



Цитата(des00 @ Jun 10 2015, 20:26) *
Уже только завтра, из головы вылетело, а вся информация на рабочем компе. На форуме поищите мою тему в алгоритмах, там выложена симулинк модель корректора ФШ, на основе адаптивного предсказания ФШ. Вроде какие то модели были там.


Спасибо. Нашел.
Go to the top of the page
 
+Quote Post
serjj
сообщение Jun 10 2015, 17:35
Сообщение #6


Знающий
****

Группа: Участник
Сообщений: 527
Регистрация: 4-06-14
Из: Санкт-Петербург
Пользователь №: 81 866



Цитата
Увидите непосредственно ФШ. Затем сгенерируйте AWGN, пропустите через фильтр и сравните что получилось

Ну ФШ в полосе будет похож на синус, т.к. это сигнал у которого только фаза меняется, а амплитуда постоянная, а AWGN даже ограниченный в полосе все равно Гаусс. Ну и обоих процессов есть некоторая коррелированность, т.к. они в принципе узкополосные. Или есть еще какие-то особенности сигнала ФШ?
Go to the top of the page
 
+Quote Post
des00
сообщение Jun 10 2015, 17:40
Сообщение #7


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(serjj @ Jun 11 2015, 01:35) *
Ну ФШ в полосе будет похож на синус, т.к. это сигнал у которого только фаза меняется, а амплитуда постоянная, а AWGN даже ограниченный в полосе все равно Гаусс.

Синуса там точно нет, ЕМНИП там сигнал описывается авторегрессионной моделью высоких порядков. Завтра выложу статьи по ФШ, которые показались мне интересными, в них есть и временные диаграммы реального ФШ и проблемы его коррекции для SC и OFDM сигналов.


--------------------
Go to the top of the page
 
+Quote Post
des00
сообщение Jun 11 2015, 04:26
Сообщение #8


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Немного интересных документов. Есть еще, но весят много, а файлообменники прокси не пускает. Напишите мне в личку вашу почту, пришлю еще немного интересного.

В доках есть осциллограммы фазового шума, можно посмотреть, как он выглядит.

ЗЫ. Модель описания, близкая к реальному ФШ - Винеровский ФШ.
Прикрепленные файлы
Прикрепленный файл  NOVEL_PHASE_NOISE_COMPENSATION_SCHEMES_FOR_COMMUNICATION_TRANSCEIVERS.pdf ( 648.66 килобайт ) Кол-во скачиваний: 341
Прикрепленный файл  PHASE_NOISE_COMPENSATION_RECEIVER.pdf ( 675.98 килобайт ) Кол-во скачиваний: 110
Прикрепленный файл  Stochastic_Models_for_Phase_Noise.pdf ( 121.12 килобайт ) Кол-во скачиваний: 102
 


--------------------
Go to the top of the page
 
+Quote Post
Кнкн
сообщение Jun 11 2015, 06:12
Сообщение #9


Знающий
****

Группа: Свой
Сообщений: 646
Регистрация: 21-06-04
Пользователь №: 71



Цитата(des00 @ Jun 11 2015, 07:26) *
Немного интересных документов. Есть еще, но весят много, а файлообменники прокси не пускает. Напишите мне в личку вашу почту, пришлю еще немного интересного.

В доках есть осциллограммы фазового шума, можно посмотреть, как он выглядит.

ЗЫ. Модель описания, близкая к реальному ФШ - Винеровский ФШ.


Тема интересная. Может быть, Вы поместите информацию на местный ftp ?
Go to the top of the page
 
+Quote Post
des00
сообщение Jun 11 2015, 06:54
Сообщение #10


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(Кнкн @ Jun 11 2015, 14:12) *
Тема интересная. Может быть, Вы поместите информацию на местный ftp ?

Не знал что статьи тоже можно туда ложить. Из дома залью, всего оцененного и отсортированного материала именно по фазовым шумам на 102 мегабайта.


--------------------
Go to the top of the page
 
+Quote Post
andyp
сообщение Jun 11 2015, 07:00
Сообщение #11


Местный
***

Группа: Участник
Сообщений: 453
Регистрация: 23-07-08
Пользователь №: 39 163



Цитата(des00 @ Jun 11 2015, 09:54) *
Не знал что статьи тоже можно туда ложить. Из дома залью, всего оцененного и отсортированного материала именно по фазовым шумам на 102 мегабайта.


/offtopic
А нельзя на какой-нибудь публичный сервис выложить? Не у всех есть доступ к ftp.
Go to the top of the page
 
+Quote Post
des00
сообщение Jun 11 2015, 07:16
Сообщение #12


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(andyp @ Jun 11 2015, 15:00) *
А нельзя на какой-нибудь публичный сервис выложить?

ок, часов через 8-10 выложу.


--------------------
Go to the top of the page
 
+Quote Post
des00
сообщение Jun 11 2015, 17:49
Сообщение #13


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(des00 @ Jun 11 2015, 15:16) *
ок, часов через 8-10 выложу.

http://disk.tom.ru/7tmc7xm


--------------------
Go to the top of the page
 
+Quote Post
andyp
сообщение Jun 11 2015, 18:28
Сообщение #14


Местный
***

Группа: Участник
Сообщений: 453
Регистрация: 23-07-08
Пользователь №: 39 163



Цитата(des00 @ Jun 11 2015, 20:49) *


Спасибо beer.gif
Go to the top of the page
 
+Quote Post
Grizzzly
сообщение Jun 11 2015, 18:33
Сообщение #15


Знающий
****

Группа: Свой
Сообщений: 565
Регистрация: 22-02-13
Пользователь №: 75 748



Цитата(des00 @ Jun 11 2015, 20:49) *

Спасибо! beer.gif
Go to the top of the page
 
+Quote Post
des00
сообщение Jun 12 2015, 03:22
Сообщение #16


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(Кнкн @ Jun 11 2015, 14:12) *
Может быть, Вы поместите информацию на местный ftp ?

положил в аплоад/DOC. правда давно не выкладывал ничего, вроде были проблемы какие то с фаром. проверьте если не сложно.


--------------------
Go to the top of the page
 
+Quote Post
andyp
сообщение Jun 12 2015, 19:50
Сообщение #17


Местный
***

Группа: Участник
Сообщений: 453
Регистрация: 23-07-08
Пользователь №: 39 163



Цитата(Grizzzly @ Jun 10 2015, 18:39) *
У них возник вопрос по строчке:
Код
X = (2*M-2) * sqrt( dF .* P ) .* awgn_P1;


Почему мы формируем спектр требуемого фазового шума, умножая awgn_P1, а не fft(awgn_P1)?
Сейчас задумался, вроде бы действительно надо перейти в частотную область, чтобы получить равномерный спектр, затем его умножить на характеристику генератора, а потом сделать ifft. Или же можно считать, что awgn_P1 уже в частотной области, поскольку ограничения на вид распределения у нас нет?

Нашел статейку. Там как раз к отсчетам АБГШ применяется fft. Как всё-таки правильно?


Подумай, что есть dft белого гауссовского шума? Чем оно отличается от просто отсчетов белого шума?

Hint - отсчеты останутся независимыми по свойству преобразования Фурье (ортогональный базис, все дела) + они же останутся гауссовскими (как сумма независимых покрученных по фазе гауссовских величин), м.о. и дисперсия не изменятся при правильной нормировке преобразования.
Go to the top of the page
 
+Quote Post
Grizzzly
сообщение Jun 14 2015, 10:10
Сообщение #18


Знающий
****

Группа: Свой
Сообщений: 565
Регистрация: 22-02-13
Пользователь №: 75 748



Цитата(andyp @ Jun 12 2015, 22:50) *
Подумай, что есть dft белого гауссовского шума?

Да-да. Вместо того, чтобы подумать, я сделал fft, забыв учесть множитель, и неверно интерпретировал результат. Аж стыдно blush.gif
Go to the top of the page
 
+Quote Post
Кнкн
сообщение Jun 15 2015, 07:08
Сообщение #19


Знающий
****

Группа: Свой
Сообщений: 646
Регистрация: 21-06-04
Пользователь №: 71



Цитата(des00 @ Jun 12 2015, 06:22) *
положил в аплоад/DOC. правда давно не выкладывал ничего, вроде были проблемы какие то с фаром. проверьте если не сложно.


Спасибо! Все отлично.
Go to the top of the page
 
+Quote Post
Ivan55
сообщение Feb 11 2016, 10:02
Сообщение #20


Местный
***

Группа: Участник
Сообщений: 212
Регистрация: 17-01-12
Пользователь №: 69 640



Всем добрый день!
Заинтересовался данной темой и решил почитать инфу. Но возникло пара вопросов
В книге Multi-carrier and spread spectrum system авторы Fazel и Kaiser есть раздел посвященный данной теме
там на стр. 173 написано что фазовый шум генератора моделируется как Винеровский процесс
т.е. интеграл от стационарного процесса имеющего равномерную спектральную плотность (белый шум)
собственно так они и пишут:
Прикрепленное изображение

Но ведь генератор имеет Лоренцеву спектральную плотность мощности, и тут они приводят вот это:
Прикрепленное изображение

далее они пишут про то как моделят в стандарте DVB, по сути используют апроксимированную Лоренцеву
и приводят струтуру модели вот такую:
Прикрепленное изображение


Вопрос:
1. При чем тут формула 4.73
2. Формула 4.74 какая то странная, распределение лоренца выглядит так где x-x0 это наша f, а гамма это ширина линии генератора, может я не правильно их формулу понимаю, но как то к Лоранцевой она не приводится
3. По схеме (рисунок 4-51) вроде все классно, делаем шум пропускаем через фильтр который задает спектральную маску
соответсвующую распределению лоренца, все это в экспоненту и вперед rolleyes.gif Одно не пойму для чего добавляют шум после фильтра?

Ну вроде пока все wink.gif о наболевшем biggrin.gif

Сообщение отредактировал Ivan55 - Feb 11 2016, 10:10
Go to the top of the page
 
+Quote Post
des00
сообщение Feb 11 2016, 11:11
Сообщение #21


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Фазовый шум - вариация фазы генератора, причем тут спектральная плотность мощности этого генератора?

Шум после фильтра скорее всего моделирует вариацию фазы мгновенную.


--------------------
Go to the top of the page
 
+Quote Post
Ivan55
сообщение Feb 11 2016, 11:32
Сообщение #22


Местный
***

Группа: Участник
Сообщений: 212
Регистрация: 17-01-12
Пользователь №: 69 640



Цитата(des00 @ Feb 11 2016, 14:11) *
Фазовый шум - вариация фазы генератора, причем тут спектральная плотность мощности этого генератора?


В таком случае было бы все просто, белый шум в экспоненту и все
Но тут они задают профиль фазового шума фильтром, тем самым видимо моделируют уровень фазовых шумов при отстройке в N Гц
Могу ошибаться, я тут новичок в моделировании фазовых шумов laughing.gif
Go to the top of the page
 
+Quote Post
des00
сообщение Feb 11 2016, 12:08
Сообщение #23


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(Ivan55 @ Feb 11 2016, 18:32) *
В таком случае было бы все просто, белый шум в экспоненту и все

Вот как раз белый шум, так добавлять нельзя. Вы не получите адекватности. У вас будут просто хаотичные скачки фазы, которые не предсказать, не получить тренд. Адекватность можно получить либо используя винеровский шум, либо фильтруя белый. Наверное они подобрали фильтр, похожий на какой то стандартный генератор и сделали вот такую модель.


--------------------
Go to the top of the page
 
+Quote Post
Ivan55
сообщение Feb 11 2016, 12:20
Сообщение #24


Местный
***

Группа: Участник
Сообщений: 212
Регистрация: 17-01-12
Пользователь №: 69 640



Цитата(des00 @ Feb 11 2016, 15:08) *
Наверное они подобрали фильтр, похожий на какой то стандартный генератор и сделали вот такую модель.

как я понял из инфы в гугле все так и делают, задают фильтром параметры генератора

Цитата(Ivan55 @ Feb 11 2016, 15:16) *
как я понял из инфы в гугле все так и делают, задают фильтром параметры генератора

точнее даже не фильтр а спектральная маска. Задают функцию лоренца в частотной области потом обратное фурье и умножают отсчеты шума

Сообщение отредактировал Ivan55 - Feb 11 2016, 12:21
Go to the top of the page
 
+Quote Post
des00
сообщение Feb 11 2016, 15:27
Сообщение #25


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(Ivan55 @ Feb 11 2016, 20:20) *
точнее даже не фильтр а спектральная маска. Задают функцию лоренца в частотной области потом обратное фурье и умножают отсчеты шума

это-то понятно. в начале темы я писал чем чреват похожий подход, при моделировании во временной области.

ЗЫ. если вам интересно, через пару дней смогу сделать несколько скринов или гифку фазового шума с реального генератора. посмотрите как он выглядит во временной области и сравните с тем, что видите у себя в модели.


--------------------
Go to the top of the page
 
+Quote Post
Ivan55
сообщение Feb 11 2016, 17:12
Сообщение #26


Местный
***

Группа: Участник
Сообщений: 212
Регистрация: 17-01-12
Пользователь №: 69 640



Цитата(des00 @ Feb 11 2016, 18:27) *
это-то понятно. в начале темы я писал чем чреват похожий подход, при моделировании во временной области.

Да читал. Спасибоsm.gif
Цитата(des00 @ Feb 11 2016, 18:27) *
ЗЫ. если вам интересно, через пару дней смогу сделать несколько скринов или гифку фазового шума с реального генератора. посмотрите как он выглядит во временной области и сравните с тем, что видите у себя в модели.

Было бы интересноsm.gif неверно не только мне)) Спасибо!
Go to the top of the page
 
+Quote Post
des00
сообщение Feb 16 2016, 05:59
Сообщение #27


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(Ivan55 @ Feb 12 2016, 01:12) *
Было бы интересноsm.gif неверно не только мне)) Спасибо!

https://youtu.be/0DzZy5ldpaA

QAM256 без коррекции -> с коррекцией -> фазовый шум синтезаторов (зеленый)/отфильтрованный фазовый шум синтезаторов (красный)



--------------------
Go to the top of the page
 
+Quote Post
Fat Robot
сообщение Feb 16 2016, 08:04
Сообщение #28


ʕʘ̅͜ʘ̅ʔ
*****

Группа: Свой
Сообщений: 1 008
Регистрация: 3-05-05
Пользователь №: 4 691



Очень впечатляет. Вы могли бы объяснить природу этих шумов в вашем случае?

Цитата(des00 @ Feb 16 2016, 09:59) *
https://youtu.be/0DzZy5ldpaA

QAM256 без коррекции -> с коррекцией -> фазовый шум синтезаторов (зеленый)/отфильтрованный фазовый шум синтезаторов (красный)

Go to the top of the page
 
+Quote Post
des00
сообщение Feb 16 2016, 08:23
Сообщение #29


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(Fat Robot @ Feb 16 2016, 16:04) *
Вы могли бы объяснить природу этих шумов в вашем случае?

Сами по себе синтезаторы не очень хорошие (см. аттач) + шумы питания лезут.
Эскизы прикрепленных изображений
Прикрепленное изображение
 


--------------------
Go to the top of the page
 
+Quote Post
Ivan55
сообщение Apr 19 2016, 08:08
Сообщение #30


Местный
***

Группа: Участник
Сообщений: 212
Регистрация: 17-01-12
Пользователь №: 69 640



фазовый шум описывается Винеровским процессом:
ph(n)=sum(m(i)) т.е. ph(n) = ph(n-1)+m(n)
где m случайная величина имеющая Гауссово распределение и дисперсию:
sigma2 = 4*pi*B*t
параметр B-ширина линии генератора в Гц
варьируя его мы собственно задаем фазовый шум

вопрос
как должно вести себя созвездие?
вот созвездия по 10 символам, в символе 312 поднесущих модулированных QAM-16 для B=0.1 получается
Прикрепленное изображение

и для B=5
Прикрепленное изображение


или такими должны быть картинки для QAM созвездий по одному символу?

вроде с теорией сходится общий поворот фазы виден, межканальная интерференция от поднесущих тоже возникает с увеличением B

Сообщение отредактировал Ivan55 - Apr 19 2016, 08:17
Go to the top of the page
 
+Quote Post
KalashKS
сообщение Apr 19 2016, 08:37
Сообщение #31


Местный
***

Группа: Участник
Сообщений: 236
Регистрация: 7-02-11
Пользователь №: 62 755



Похоже на правду. По дному символу такое созвездие будет при временном рассогласовании и джиттере на тактовом сигнале.

Сообщение отредактировал KalashKS - Apr 19 2016, 08:40
Go to the top of the page
 
+Quote Post
Ivan55
сообщение Apr 19 2016, 08:45
Сообщение #32


Местный
***

Группа: Участник
Сообщений: 212
Регистрация: 17-01-12
Пользователь №: 69 640



Цитата(KalashKS @ Apr 19 2016, 12:37) *
По дному символу такое созвездие будет при временном рассогласовании и джиттере на тактовом сигнале.

а если нет расоогласований, шума и прочей бяки... просто фазовый шум добавляем
то на созвездии одного символа это будет выглядить как поворот всех поднесущих на одну фазу?
ну вот например
Прикрепленное изображение

один символ, 312 поднесущих, B=5
видим общую фазовую ошибку(поворот) и ICI изза нарушения ортогональности

Сообщение отредактировал Ivan55 - Apr 19 2016, 08:46
Go to the top of the page
 
+Quote Post
KalashKS
сообщение Apr 19 2016, 08:46
Сообщение #33


Местный
***

Группа: Участник
Сообщений: 236
Регистрация: 7-02-11
Пользователь №: 62 755



Да, правильно.
Go to the top of the page
 
+Quote Post
Ivan55
сообщение Apr 19 2016, 08:48
Сообщение #34


Местный
***

Группа: Участник
Сообщений: 212
Регистрация: 17-01-12
Пользователь №: 69 640



Цитата(KalashKS @ Apr 19 2016, 12:46) *
Да, правильно.


Спасибо) а то меня не покидали сомнения
Go to the top of the page
 
+Quote Post
serjj
сообщение Apr 25 2016, 06:34
Сообщение #35


Знающий
****

Группа: Участник
Сообщений: 527
Регистрация: 4-06-14
Из: Санкт-Петербург
Пользователь №: 81 866



О влиянии фазового шума в OFDM модеме мне понравилось как в этой статье описано:
Прикрепленный файл  10.1.1.70.4176.pdf ( 139.67 килобайт ) Кол-во скачиваний: 180

Собственно формула (2) ставит 2 проблемы, которые требуется решать: общий поворот фазы (CPE) и межтоновая интерференция (ICI). Приводятся выкладки для SISO, для MIMO подобная же формула выводится простой заменой векторов в исходной модели на матрицы. Общая идея о разложении на CPE и ICI при этом останется той же самой: при условии, что фазовый шум один и тот же на всех приёмных антеннах, т.е. используется один генератор.
Go to the top of the page
 
+Quote Post
des00
сообщение Apr 25 2016, 08:36
Сообщение #36


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(serjj @ Apr 25 2016, 14:34) *
при условии, что фазовый шум один и тот же на всех приёмных антеннах, т.е. используется один генератор.

вот сделать это на разных, дешевых, шумящих генераторах было бы круто sm.gif


--------------------
Go to the top of the page
 
+Quote Post
serjj
сообщение Apr 27 2016, 21:02
Сообщение #37


Знающий
****

Группа: Участник
Сообщений: 527
Регистрация: 4-06-14
Из: Санкт-Петербург
Пользователь №: 81 866



Цитата
вот сделать это на разных, дешевых, шумящих генераторах было бы круто

Ну если так подумать... Кто мешает? Можно сделать оценку спектра ФШ и деконволюцию в пространстве приёмных антенн сразу после Фурье. Для каждого тракта находить свои коэффициенты коррекции ICI. Но сложно представить зачем это могло бы понадобиться. Один генератор - дёшево и сердито) И алгоритмы проще. Разные генераторы - это разве что для случая, когда нужна опция разные антенны на разные полосы настраивать. Вроде multiband-MIMO гибрида какого-то wink.gif
Go to the top of the page
 
+Quote Post
des00
сообщение Apr 28 2016, 01:32
Сообщение #38


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(serjj @ Apr 28 2016, 04:02) *
Ну если так подумать...

Один генератор это многоканальное изделие, а много генераторов - много одноканальных со связями друг с другом. Тут уже маркетинг включается.

А мешать будет некоррелированный ФШ генераторов. Конечно, в приемнике ФШ можно компенсировать, но это компенсация ФШ передающего и приемного генератора. Тогда как в пространстве складывались сигналы с ФШ только передающих генераторов и именно эти сигналы, должны быть разделены.


--------------------
Go to the top of the page
 
+Quote Post
serjj
сообщение Apr 28 2016, 13:29
Сообщение #39


Знающий
****

Группа: Участник
Сообщений: 527
Регистрация: 4-06-14
Из: Санкт-Петербург
Пользователь №: 81 866



Можно проделать мысленный эксперимент. Допустим есть MIMO 2x2 с разными генераторами на каждый тракт, в передатчике и в приёмнике. Для простоты можно попробовать решить задачу только для CPE, т.е. найти 1 коэффициент ФШ, соответствующий повороту созвездия, ICI принебрегаем. Т.к. нет взаимного влияния тонов, индексы k можно опустить:

Прикрепленное изображение


Можно прийти к выводу, что даже для этого простейшего случая линейного решения нет, если тракты используют различные генераторы со своими значениями ФШ. Этот вывод можно обобщить на MIMO систему большей размерности и на случай, когда ICI составляющей пренебречь нельзя.
Могу представить себе, что, поворачивая и фильтруя принятый сигнал итеративно в пространстве приёмных антенн и выхода эквалайзера, влияние ФШ можно подавить. При этом на каждом шаге решать задачу минимизации ошибки с допуском того, что либо ФШ на передатчике либо на приёмнике равен нулю. Но это уже что-то из разряда фантастики rolleyes.gif
Go to the top of the page
 
+Quote Post
des00
сообщение Apr 28 2016, 13:45
Сообщение #40


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(serjj @ Apr 28 2016, 21:29) *
Можно прийти к выводу, что даже для этого простейшего случая линейного решения нет, если тракты используют различные генераторы со своими значениями ФШ.

а еще если pRX11 == pRx22, т.е. двухканальный приемник и pTx11 != pTx22. И так куча народу делает sm.gif

Ну либо использование разнесенных качественных генераторов (так тоже народ делает).


--------------------
Go to the top of the page
 
+Quote Post
serjj
сообщение Apr 28 2016, 14:00
Сообщение #41


Знающий
****

Группа: Участник
Сообщений: 527
Регистрация: 4-06-14
Из: Санкт-Петербург
Пользователь №: 81 866



Цитата
а еще если pRX11 == pRx22, т.е. двухканальный приемник и pTx11 != pTx22. И так куча народу делает

Конечно, если хотя бы одна из компонент ФШ (tx или rx) скаляр а не матрица, то линейное решение есть. Спортивный интерес, когда все ФШ разные.
Кстати, как вариант, приведённую систему уравнений можно попробовать решить, если половину пилотов передавать как [x1 0], а другую - [0 x2].
Go to the top of the page
 
+Quote Post
des00
сообщение Apr 29 2016, 02:38
Сообщение #42


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(serjj @ Apr 28 2016, 21:00) *
Спортивный интерес, когда все ФШ разные.

Об этом сразу и сказал "вот сделать это на разных, дешевых, шумящих генераторах было бы круто". При постоянно падающей цене ПЛИС (меньше 100$ за чипы 200-300к плиток) использование дешевых фронтэндов может дать конкурентное преимущество sm.gif


--------------------
Go to the top of the page
 
+Quote Post
Ivan55
сообщение Jun 22 2016, 08:54
Сообщение #43


Местный
***

Группа: Участник
Сообщений: 212
Регистрация: 17-01-12
Пользователь №: 69 640



Добрый день!

возвращаясь к данной теме возник интересный вопрос
обычно в литературе параметры фазовых шумов приводятся в следующем виде:
Phase noise at ± 20 Hz: -80 dBc/Hz
Phase noise at ± 20 kHz: -130 dBc/Hz

т.е. уровень фазовых шумов при отстройке

в статье Прикрепленный файл  pollet1995.pdf ( 251.9 килобайт ) Кол-во скачиваний: 112
есть формула (8) расчета ухудшения ОСШ
которая зависит только от ширины линии генератора бэта

как эта бэта связана к примеру с этими параметрами ± 20 Hz: -80 dBc/Hz; ± 20 kHz: -130 dBc/Hz

может кто подсказать?
Go to the top of the page
 
+Quote Post
serjj
сообщение Jun 23 2016, 17:04
Сообщение #44


Знающий
****

Группа: Участник
Сообщений: 527
Регистрация: 4-06-14
Из: Санкт-Петербург
Пользователь №: 81 866



Имеется в виду ширина спектра генератора по уровню -3 дБ. Видимо подразумевают, что маска спектра генератора описывается строгой математической формулой независимо от отстройки, по которой, зная ширину по -3 дБ можно посчитать уровень ФШ при произвольной отстройке, т.е. получить профиль ФШ.
Но ИМХО лучше глянуть статьи по-свежее, у analog devices например спектр ФШ разбивают на зоны, в каждой из которых спектральная плотность описывается своим законом. Я к тому, что реальный спектр генератора не всегда подходит под математическую абстракцию.
Для OFDM кстати полезно получить значения профиля ФШ на отстройках кратных расстоянию между поднесущими. Эти значения можно пересчитать в деградацию ФШ. Возможно это более информативно чем ширина по -3 дБ.
Go to the top of the page
 
+Quote Post
Ivan55
сообщение Jul 22 2016, 12:01
Сообщение #45


Местный
***

Группа: Участник
Сообщений: 212
Регистрация: 17-01-12
Пользователь №: 69 640



Добрый день всем!

Возвращаясь к данной теме rolleyes.gif
Взял я вот такой генератор TX5-504HL5
Профиль фазового шума у него вот такой:
-80 дБн/Гц на 10 Гц
-125 дБн/Гц на 100 Гц
-145 дБн/Гц на 1 кГц
-148 дБн/Гц на 10 кГц
-150 дБн/Гц на 100 кГц

замоделил OFDM КАМ-16 при ОСШ = 20 дБ и получилось что фазовые шумы снизили ОСШ приблизительно всего на 5*10-5 дБ
получается что проблемы у OFDM с фазовыми шумами нет? иначе это должен быть ну ооочень плохой генератор чтоб они возникли
проверил на модели результат такойже

Для чего тогда эта куча статей по фазовым шумам OFDM? 05.gif
Go to the top of the page
 
+Quote Post
des00
сообщение Jul 23 2016, 05:44
Сообщение #46


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(Ivan55 @ Jul 22 2016, 19:01) *
Для чего тогда эта куча статей по фазовым шумам OFDM? 05.gif

1. Как понимаю, вы взяли опорный генератор, дюже хорошего качества. Про свч синтезаторы, приемный и передающий, с параметрами -85дб на отстройке 100КГц вы случайно не забыли?
2. Влияние фш зависит от полосы сигнала. -85 на 100, могут быть не заметны для полосы 100МГц, но чувствительны для полосы 450КГц


--------------------
Go to the top of the page
 
+Quote Post
Ivan55
сообщение Jul 26 2016, 06:26
Сообщение #47


Местный
***

Группа: Участник
Сообщений: 212
Регистрация: 17-01-12
Пользователь №: 69 640



Цитата(des00 @ Jul 23 2016, 09:44) *
1. Как понимаю, вы взяли опорный генератор, дюже хорошего качества. Про свч синтезаторы, приемный и передающий, с параметрами -85дб на отстройке 100КГц вы случайно не забыли?
2. Влияние фш зависит от полосы сигнала. -85 на 100, могут быть не заметны для полосы 100МГц, но чувствительны для полосы 450КГц


Я моделил для полосы 15 кГц частота дискретизации 48 кГц, разнос поднесущих приблизительно 46 Гц диапазон КВ. Моделил следующим образом:
1. Генерировал OFDM на нулевой частоте, никуда не переносил
2. Задавал белый шум, мерил ОСШ
3. Моделил фазу по маске, и умножал Ofdm на экспоненту в степени фазы
4. Мерил ОСШ, брал разность с ОСШ до добавления фазы

методика измерений верна? или может я не правильно измеряю?

И вообще есть какие то требования к ухудшению ОСШ из за фазовых шумов? какие то ГОСТЫ... на скока допустимо ухудшение ОСШ?

Сообщение отредактировал Ivan55 - Jul 26 2016, 06:31
Go to the top of the page
 
+Quote Post
des00
сообщение Jul 26 2016, 06:49
Сообщение #48


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



ИМХО не верно

Цитата(Ivan55 @ Jul 26 2016, 13:26) *
3. Моделил фазу по маске, и умножал Ofdm на экспоненту в степени фазы

Фазу по маске? Это как это? Вы должны были задать профиль ФШ в частотной области, затем его синтезировать, затем перейти от частоты ко времени, и только потом моделировать фазу (это фазовая компонента фазового шума). При этом, по хорошему, нужно брать 2 источника ФШ, с разной инициализацией и добавить еще между ними рассинхронизацию по частоте

Цитата
4. Мерил ОСШ, брал разность с ОСШ до добавления фазы

Если ОСШ вы измеряете через энергии то не увидите вы его. Либо измеряйте RxMER либо чутье.

Цитата
И вообще есть какие то требования к ухудшению ОСШ из за фазовых шумов? какие то ГОСТЫ... на скока допустимо ухудшение ОСШ?

Требования - коэффициент системы связи/чувствительность приемника. А уж какими методами и на каких генераторах вы этого добились, будет определять цену вашего изделия.


--------------------
Go to the top of the page
 
+Quote Post
Ivan55
сообщение Jul 26 2016, 07:22
Сообщение #49


Местный
***

Группа: Участник
Сообщений: 212
Регистрация: 17-01-12
Пользователь №: 69 640



Цитата(des00 @ Jul 26 2016, 10:49) *
Фазу по маске? Это как это? Вы должны были задать профиль ФШ в частотной области, затем его синтезировать, затем перейти от частоты ко времени, и только потом моделировать фазу (это фазовая компонента фазового шума). При этом, по хорошему, нужно брать 2 источника ФШ, с разной инициализацией и добавить еще между ними рассинхронизацию по частоте

да так и делал кроме разсинхронизации, это на чтото повлияет если на приеме делать идеальную синхру по частоте?
Цитата(des00 @ Jul 26 2016, 10:49) *
Если ОСШ вы измеряете через энергии то не увидите вы его. Либо измеряйте RxMER либо чутье.

Возможно. Я в матлабе мерил через библиотеку "snr"... Ну ОСШ это же отношение мощности сигнала к шума либо по амплитуде но будет тоже самое тока в два раза больше...

Значит надо было развернуть до созвездия померить MER до ФШ и после, так?

Go to the top of the page
 
+Quote Post
des00
сообщение Jul 26 2016, 07:27
Сообщение #50


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(Ivan55 @ Jul 26 2016, 14:22) *
да так и делал кроме разсинхронизации, это на чтото повлияет если на приеме делать идеальную синхру по частоте?

Возможно. Я в матлабе мерил через библиотеку "snr"... Ну ОСШ это же отношение мощности сигнала к шума либо по амплитуде но будет тоже самое тока в два раза больше...

Значит надо было развернуть до созвездия померить MER до ФШ и после, так?

ну на бумажке формулу напишите, как вращение сигнала по фазе влияет на него (особенно его мощность) и каким местом тут расстройка по частоте, сигнал шум и прочее.


--------------------
Go to the top of the page
 
+Quote Post
Ivan55
сообщение Jul 28 2016, 06:14
Сообщение #51


Местный
***

Группа: Участник
Сообщений: 212
Регистрация: 17-01-12
Пользователь №: 69 640



Цитата(des00 @ Jul 23 2016, 08:44) *
вы взяли опорный генератор, дюже хорошего качества.

Не подскажите генератор плохого качества, мне для КВ диапазона

Цитата(des00 @ Jul 26 2016, 09:49) *
нужно брать 2 источника ФШ, с разной инициализацией и добавить еще между ними рассинхронизацию по частоте

сделал посмотрел... Рассинхронизация приводит к вращению созвездия, что я и предпологал, но я анализирую влияние фазовых шумов
рассинхронизация это другая проблема

Сообщение отредактировал Ivan55 - Jul 28 2016, 06:14
Go to the top of the page
 
+Quote Post
des00
сообщение Jul 28 2016, 09:15
Сообщение #52


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(Ivan55 @ Jul 28 2016, 13:14) *
Не подскажите генератор плохого качества, мне для КВ диапазона

[-30 -35 -50 -85] на [1 2 10 100] кгц

Цитата
сделал посмотрел... Рассинхронизация приводит к вращению созвездия, что я и предпологал, но я анализирую влияние фазовых шумов
рассинхронизация это другая проблема

генераторы слишком хорошие у вас, потому и выводы такие) Как точка отсчета - ФШ рождается в синтезаторах частот, а петля восстановления по несущей, компенсирует несушку для сквозного тракта.


--------------------
Go to the top of the page
 
+Quote Post
Ivan55
сообщение Jul 28 2016, 09:33
Сообщение #53


Местный
***

Группа: Участник
Сообщений: 212
Регистрация: 17-01-12
Пользователь №: 69 640



Цитата(des00 @ Jul 28 2016, 12:15) *
[-30 -35 -50 -85] на [1 2 10 100] кгц

Это что за генератор? где на него посмотреть?)) Это же генератор шума а не несущей))))))
Цитата(des00 @ Jul 28 2016, 12:15) *
Как точка отсчета - ФШ рождается в синтезаторах частот, а петля восстановления по несущей, компенсирует несушку для сквозного тракта.

У меня мало знаний в этой области. Не могу понять к чему это все и как влияет... Я так понял это вы щас про PLL?
Go to the top of the page
 
+Quote Post
des00
сообщение Jul 28 2016, 09:40
Сообщение #54


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(Ivan55 @ Jul 28 2016, 16:33) *
Это что за генератор? где на него посмотреть?)) Это же генератор шума а не несущей))))))

это классический, не запетлеванный RF синтезатор, диапазона 5-11Ггц. И мои модемы работают на таких синтезаторах sm.gif

Цитата
У меня мало знаний в этой области. Не могу понять к чему это все и как влияет... Я так понял это вы щас про PLL?

Это я к тому, что ФШ накладывается в разных "местах" спектра. Давят его уже после восстановления несушки, которая компенсирует весь канал. В итоге, если посмотреть ФШ сигнала после восстановления частот, он будет отличен от суммы ФШ передающего и приемного генераторов. При этом часть ФШ будет носить амплитудный, а не фазовый характер.


--------------------
Go to the top of the page
 
+Quote Post
Ivan55
сообщение Jul 28 2016, 09:48
Сообщение #55


Местный
***

Группа: Участник
Сообщений: 212
Регистрация: 17-01-12
Пользователь №: 69 640



Цитата(des00 @ Jul 28 2016, 12:40) *
это классический, не запетлеванный RF синтезатор, диапазона 5-11Ггц. И мои модемы работают на таких синтезаторах sm.gif

Ну там то это возможно если полоса 20 МГц и разнос поднесущих килогерц 400
У меня же диапазон 3-30 Мгц полоса сигнала максимум 20 кГц и разнос поднесущих около 40 Гц
Go to the top of the page
 
+Quote Post
des00
сообщение Jul 28 2016, 10:08
Сообщение #56


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(Ivan55 @ Jul 28 2016, 16:48) *
У меня же диапазон 3-30 Мгц полоса сигнала максимум 20 кГц и разнос поднесущих около 40 Гц

Вот и начните ухудшать свой генератор. В качестве отправной точки возьмите дрожание QPSK точки. Подберите в модели параметры когда дрожание будет +-25 градусов. И потом загоняйте туда OFDM. Это будет плохой, дешманский генератор

Цитата(Ivan55 @ Jul 28 2016, 16:48) *
Ну там то это возможно если полоса 20 МГц и разнос поднесущих килогерц 400

у меня и 1.75 полоса работает sm.gif


и еще, если вы тестируетесь на QPSK, то вы не практически не увидите влияние ФШ. Нужно смотреть на созвездиях класса 64 кам и выше.


--------------------
Go to the top of the page
 
+Quote Post
Ivan55
сообщение Jul 28 2016, 10:46
Сообщение #57


Местный
***

Группа: Участник
Сообщений: 212
Регистрация: 17-01-12
Пользователь №: 69 640



Цитата(des00 @ Jul 28 2016, 13:08) *
и еще, если вы тестируетесь на QPSK, то вы не практически не увидите влияние ФШ. Нужно смотреть на созвездиях класса 64 кам и выше.


это понятно, там угол меньше между точками, поэтому чем больше созведие тем больше верхние точки подвержены влиянию ФШ


Цитата(des00 @ Jul 28 2016, 13:08) *
у меня и 1.75 полоса работает sm.gif

А между несущими скока кГц?
Go to the top of the page
 
+Quote Post
des00
сообщение Jul 28 2016, 10:53
Сообщение #58


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(Ivan55 @ Jul 28 2016, 17:46) *
А между несущими скока кГц?

я на Single Carrier специализируюсь


--------------------
Go to the top of the page
 
+Quote Post
Ivan55
сообщение Aug 2 2016, 06:35
Сообщение #59


Местный
***

Группа: Участник
Сообщений: 212
Регистрация: 17-01-12
Пользователь №: 69 640



Прокоментируйте код

Написал на основе модели вроде работает. С фазовыми шумами разбираюсь не давно
Модель разработана для оценки влияния фазвых шумов на качество ofdm сигнала

Прошу подсказать что не так... как лучше сделать... правильно ли измеряю

CODE
clc; clear all; close all;

Fs = 48000; % Частота дискретизации сигнала
SNR = 20; % ОСШ
Nfft = 1024; Ng = Nfft/4; Nofdm = Ng+Nfft; % Параметры OFDM сигнала
Tofdm = Nfft/Fs; % Длительность OFDM сигнала в сек
nCar = 312; % Кол-во поднесущих
Nbps = 6; M = 2^Nbps;
Nsym = 10000; % Колличество генерируемых OFDM символов
H_QAM4=modem.qammod('M',M,'PhaseOffset', 0, 'SymbolOrder',...
'binary', 'InputType', 'bit');
Es = 1; A = (3/2/(M-1)*Es);


tx = [];

fft_in = complex(zeros(Nfft,Nsym),zeros(Nfft,Nsym));
QAM = zeros(Nsym,nCar);
In_Data = randi([0 1],Nsym,nCar*log2(M));
QAM = A*modulate(H_QAM4, In_Data');
fft_in(1:nCar/2,:) = QAM(1:nCar/2,:);
fft_in(end-nCar/2+1:end,:) = QAM(nCar/2+1:end,:);
fft_out = ifft(fft_in);
tx = [fft_out(end-Ng+1:end,:); fft_out].';
tx = reshape(tx.', 1, Nsym*Nofdm);


sig_awgn = awgn(tx, 10*log10(nCar/Nfft) + SNR, 'measured', 'dB');
out_sig = add_phase_noise(sig_awgn, 300e3, [10 100 1e3 10e3 100e3], [-80 -125 -145 -148 -150], 0);
rx = add_phase_noise(out_sig, 300e3, [10 100 1e3 10e3 100e3], [-80 -125 -145 -148 -150], 0);


for k = 1:Nsym
% Демодуляция OFDM с фазовым шумом
OFDM_rx = rx(1,Ng+(k-1)*Nofdm+1:k*Nofdm);
carier = fft(OFDM_rx);
QAM_rx = [carier(1,1:nCar/2) carier(1,end-nCar/2+1:end)];

OFDM_sig_awgn = sig_awgn(1,Ng+(k-1)*Nofdm+1:k*Nofdm);
carier = fft(OFDM_sig_awgn);
QAM_awgn = [carier(1,1:nCar/2) carier(1,end-nCar/2+1:end)];

OFDM_tx = tx(1,Ng+(k-1)*Nofdm+1:k*Nofdm);
carier = fft(OFDM_tx);
QAM_tx = [carier(1,1:nCar/2) carier(1,end-nCar/2+1:end)];

noise(1,k) = sum(abs(QAM_awgn - QAM_tx).^2);
SNR_awgn(1,k) = 10*log10(sum(abs(QAM_tx).^2)/noise(1,k));

noise(1,k) = sum(abs(QAM_rx - QAM_tx).^2);
SNR_ph(1,k) = 10*log10(sum(abs(QAM_tx).^2)/noise(1,k));
end

SNR = mean(SNR_ph) - mean(SNR_awgn)


CODE
function Sout = add_phase_noise( Sin, Fs, phase_noise_freq, phase_noise_power, VALIDATION_ON )
%
% function Sout = add_phase_noise( Sin, Fs, phase_noise_freq, phase_noise_power, VALIDATION_ON )
%
% 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 )
% VALIDATION_ON - 1 - perform validation, 0 - don't perfrom validation
%
% 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 produce 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 );

% Version 1.0
% Alex Bur-Guy, October 2005
% alex@wavion.co.il
%
% Revisions:
% Version 1.5 - Comments. Validation.
% Version 1.0 - initial version

% NOTES:
% 1) The presented model is a simple VCO phase noise model based on the following consideration:
% If the output of an oscillator is given as V(t) = V0 * cos( w0*t + phi(t) ),
% then phi(t) is defined as the phase noise. In cases of small noise
% sources (a valid assumption in any usable system), a narrowband modulation approximation can
% be used to express the oscillator output as:
%
% V(t) = V0 * cos( w0*t + phi(t) )
%
% = V0 * [cos(w0*t)*cos(phi(t)) - sin(w0*t)*sin(phi(t)) ]
%
% ~ V0 * [cos(w0*t) - sin(w0*t)*phi(t)]
%
% This shows that phase noise will be mixed with the carrier to produce sidebands around the carrier.
%
%
% 2) In other words, exp(j*x) ~ (1+j*x) for small x
%
% 3) Phase noise = 0 dBc/Hz at freq. offset of 0 Hz
%
% 4) The lowest phase noise level is defined by the input SSB phase noise power at the maximal
% freq. offset from DC. (IT DOES NOT BECOME EQUAL TO ZERO )
%
% The generation process is as follows:
% First of all we interpolate (in log-scale) SSB phase noise power spectrum in M
% equally spaced points (on the interval [0 Fs/2] including bounds ).
%
% After that we calculate required frequency shape of the phase noise by X(m) = sqrt(P(m)*dF(m))
% and after that complement it by the symmetrical negative part of the spectrum.
%
% After that we generate AWGN of power 1 in the freq domain and multiply it sample-by-sample to
% the calculated shape
%
% Finally we perform 2*M-2 points IFFT to such generated noise
% ( See comments inside the code )
%
% 0 dBc/Hz
% \ /
% \ /
% \ /
% \P dBc/Hz /
% .\ /
% . \ /
% . \ /
% . \____________________________________________/ /_ This level is defined by the phase_noise_power at the maximal freq. offset from DC defined in phase_noise_freq
% . \
% |__| _|__|__|__|__|__|__|__|__|__|__|__|__|__|__|__|__|__|__|__ (N points)
% 0 dF Fs/2 Fs
% DC
%
%
% For some basics about Oscillator phase noise see:
% http://www.circuitsage.com/pll/plldynamics.pdf
%
% http://www.wj.com/pdf/technotes/LO_phase_noise.pdf

if nargin < 5
VALIDATION_ON = 0;
end

% Check Input
error( nargchk(4,5,nargin) );

if ~any( imag(Sin(:)) )
error( 'Input signal should be complex signal' );
end
if max(phase_noise_freq) >= Fs/2
error( 'Maximal frequency offset should be less than Fs/2');
end

% Make sure phase_noise_freq and phase_noise_power are the row vectors
phase_noise_freq = phase_noise_freq(:).';
phase_noise_power = phase_noise_power(:).';
if length( phase_noise_freq ) ~= length( phase_noise_power )
error('phase_noise_freq and phase_noise_power should be of the same length');
end

% Sort phase_noise_freq and phase_noise_power
[phase_noise_freq, indx] = sort( phase_noise_freq );
phase_noise_power = phase_noise_power( indx );

% Add 0 dBc/Hz @ DC
if ~any(phase_noise_freq == 0)
phase_noise_power = [ 0, phase_noise_power ];
phase_noise_freq = [0, phase_noise_freq];
end

% Calculate input length
N = prod( size( Sin ) );

% Define M number of points (frequency resolution) in the positive spectrum
% (M equally spaced points on the interval [0 Fs/2] including bounds),
% then the number of points in the negative spectrum will be M-2
% ( interval (Fs/2, Fs) not including bounds )
%
% The total number of points in the frequency domain will be 2*M-2, and if we want
% to get the same length as the input signal, then
% 2*M-2 = N
% M-1 = N/2
% M = N/2 + 1
%
% So, if N is even then M = N/2 + 1, and if N is odd we will take M = (N+1)/2 + 1
%
if rem(N,2), % N odd
M = (N+1)/2 + 1;
else
M = N/2 + 1;
end


% Equally spaced partitioning of the half spectrum
F = linspace( 0, Fs/2, M ); % Freq. Grid
dF = [diff(F) F(end)-F(end-1)]; % Delta F


% Perform interpolation of phase_noise_power in log-scale
intrvlNum = length( phase_noise_freq );
logP = zeros( 1, M );
for intrvlIndex = 1 : intrvlNum,
leftBound = phase_noise_freq(intrvlIndex);
t1 = phase_noise_power(intrvlIndex);
if intrvlIndex == intrvlNum
rightBound = Fs/2;
t2 = phase_noise_power(end);
inside = find( F>=leftBound & F<=rightBound );
else
rightBound = phase_noise_freq(intrvlIndex+1);
t2 = phase_noise_power(intrvlIndex+1);
inside = find( F>=leftBound & F<rightBound );
end
logP( inside ) = ...
t1 + ( log10( F(inside) + realmin) - log10(leftBound+ realmin) ) / ( log10( rightBound + realmin) - log10( leftBound + realmin) ) * (t2-t1);
end
P = 10.^(real(logP)/10); % Interpolated P ( half spectrum [0 Fs/2] ) [ dBc/Hz ]

% Now we will generate AWGN of power 1 in frequency domain and shape it by the desired shape
% as follows:
%
% At the frequency offset F(m) from DC we want to get power Ptag(m) such that P(m) = Ptag/dF(m),
% that is we have to choose X(m) = sqrt( P(m)*dF(m) );
%
% Due to the normalization factors of FFT and IFFT defined as follows:
% For length K input vector x, the DFT is a length K vector X,
% with elements
% K
% X(k) = sum x(n)*exp(-j*2*pi*(k-1)*(n-1)/K), 1 <= k <= K.
% n=1
% The inverse DFT (computed by IFFT) is given by
% K
% x(n) = (1/K) sum X(k)*exp( j*2*pi*(k-1)*(n-1)/K), 1 <= n <= K.
% k=1
%
% we have to compensate normalization factor (1/K) multiplying X(k) by K.
% In our case K = 2*M-2.

% Generate AWGN of power 1

if ~VALIDATION_ON
awgn_P1 = ( sqrt(0.5)*(randn(1, M) +1j*randn(1, M)) );
else
awgn_P1 = ( sqrt(0.5)*(ones(1, M) +1j*ones(1, M)) );
end

% Shape the noise on the positive spectrum [0, Fs/2] including bounds ( M points )
X = M * sqrt( dF .* P ) .* awgn_P1; %(2*M-2)

% Complete symmetrical negative spectrum (Fs/2, Fs) not including bounds (M-2 points)
X( M + (1:M-2) ) = fliplr( conj(X(2:end-1)) );

% Remove DC
X(1) = 0;

% Perform IFFT
x = ifft( X );

% Calculate phase noise
phase_noise = exp( j * real(x(1:N)) );

% Add phase noise
if ~VALIDATION_ON
Sout = Sin .* reshape( phase_noise, size(Sin) );
else
Sout = 'VALIDATION IS ON';
end

if VALIDATION_ON
figure;
plot( phase_noise_freq, phase_noise_power, 'o-' ); % Input SSB phase noise power
hold on;
grid on;
plot( F, 10*log10(P),'r*-'); % Input SSB phase noise power
X1 = fft( phase_noise );
plot( F, 10*log10( ( (abs(X1(1:M))/max(abs(X1(1:M)))).^2 ) ./ dF(1) ), 'ks-' );% generated phase noise exp(j*x)
X2 = fft( 1 + j*real(x(1:N)) );
plot( F, 10*log10( ( (abs(X2(1:M))/max(abs(X2(1:M)))).^2 ) ./ dF(1) ), 'm>-' ); % approximation ( 1+j*x )
xlabel('Frequency [Hz]');
ylabel('dBc/Hz');
legend( ...
'Input SSB phase noise power', ...
'Interpolated SSB phase noise power', ...
'Positive spectrum of the generated phase noise exp(j*x)', ...
'Positive spectrum of the approximation ( 1+j*x )' ...
);
end


Сообщение отредактировал Ivan55 - Aug 2 2016, 07:27
Go to the top of the page
 
+Quote Post
KalashKS
сообщение Aug 2 2016, 08:40
Сообщение #60


Местный
***

Группа: Участник
Сообщений: 236
Регистрация: 7-02-11
Пользователь №: 62 755



Похоже на правду. Но поворот созвездия нужно скомпенсировать и выделить в отдельный параметр.
Go to the top of the page
 
+Quote Post
Ivan55
сообщение Aug 16 2016, 08:45
Сообщение #61


Местный
***

Группа: Участник
Сообщений: 212
Регистрация: 17-01-12
Пользователь №: 69 640



Доброго дня всем!

Возможно щас глупость спрошу, но мучает один вопрос, есть приемник с двумя ПЧ (двумя преобразованиями) на первую ПЧ генератор формирует сигнал с уровнем фазовых шумов -50 дБн на вторую генератор формирует сигнал с уровнем фазовых шумов -70 дБн... Какой уровень фазовых шумов получится в итоге?
Go to the top of the page
 
+Quote Post
Ivan55
сообщение Aug 17 2016, 08:13
Сообщение #62


Местный
***

Группа: Участник
Сообщений: 212
Регистрация: 17-01-12
Пользователь №: 69 640



Можно еще так вопрос задать biggrin.gif есть структурная схема приемного тракта, как на него рассчитать уровень фазовых шумов?
может есть книжки? статьи? что нибудь? или кто нить знает как правильно рассчитать?
Go to the top of the page
 
+Quote Post
Ivan55
сообщение Aug 22 2016, 05:07
Сообщение #63


Местный
***

Группа: Участник
Сообщений: 212
Регистрация: 17-01-12
Пользователь №: 69 640



Цитата(Ivan55 @ Aug 17 2016, 12:13) *
Можно еще так вопрос задать biggrin.gif есть структурная схема приемного тракта, как на него рассчитать уровень фазовых шумов?
может есть книжки? статьи? что нибудь? или кто нить знает как правильно рассчитать?

Разобрался)
Go to the top of the page
 
+Quote Post
Ivan55
сообщение Jan 24 2017, 11:51
Сообщение #64


Местный
***

Группа: Участник
Сообщений: 212
Регистрация: 17-01-12
Пользователь №: 69 640



И снова здравствуйте!)

есть такой вопрос

в книжке Mohamed K. Nezami "RF Architectures and Digital Signal Processing Aspects of Digital Wireless Transceivers" в разделе 10 на стр.21 приведена
формула ухудшения ОСШ в зависимости от фазового шума и приведены графики для различных ОСШ
формула какая то такая:
Прикрепленное изображение
и картинка уже рассчитанная мной по этой формуле вот:
Прикрепленное изображение


Глядя на картинку для исходного ОСШ сигнала равного 20 дБ видим, что ухудшение будет в 1 дБ при fph/df = 10^-3
df судя по описанию в книге это расстояние между поднесущими, пусть это будет к примеру 50 Гц
получается ширина полосы фазового шума fph = df*10^-3 = 50*10^-3 т.е. для генератора 30 МГц это стабильность где-то 10^-9 требуется
я же правильно все посчитал? Но на практике то это не так, теория приведенная в литературе вводит нас в заблуждение, или я что то упустил?
много литературы посвящено проблеме фазовых шумов их моделированию и т.п. но проблемы то нет, как мы выяснили ранее... Да у реальных генераторов уровень фазовых шумов на несущей -60 дБ и ниже(поэтому они не могут так существенно ухудшать ОСШ т.к. находятся глубоко под шумами) и при ширине фазового шума fph=50*10^-3 ну никак не получится ухудшение в 1дБ, и тогда возникает следующий вопрос фазовый шум и нестабильность частоты это ведь одно и тоже? Тогда если взять модель генератора которая имеет профиль с 0дБ на несущей с шириной 50*10^-3Гц и далее по -20дб на декаду, то мы будем иметь что то типо дрожания(нестабильности) частоты которая известна на практике.
Тогда почему в той же книге Nezami формула ухудшения для частотного сдвига отличается от формулы приведенной для фазовых:
Прикрепленное изображение

Много непонятных моментов которые я не могу уложить у себя в голове, вернее ничего непонятно
мне кажется формула ухудшения ОСШ в зависимости от фазовых шумов не верна из за того что не учитывает уровень фазовых шумов, на практике большее вилияние оказывает доплер и нестабильность частоты генератора, проблемы фазы я не вижу... но в теории она почему то раздута

Сообщение отредактировал Ivan55 - Jan 24 2017, 12:08
Go to the top of the page
 
+Quote Post

5 страниц V   1 2 3 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 12th August 2025 - 04:36
Рейтинг@Mail.ru


Страница сгенерированна за 0.02299 секунд с 7
ELECTRONIX ©2004-2016