MATLAB program za SFDR

S

snoop835

Guest
Hi all,

Ja sam težak to simulirati ADC za SFDR, SNR, THD i SNDR.MATLAB kod je priložen kao ispod.Ja sam novi u MATLAB-a nisu u potpunosti mogao razumjeti programa.

Za simulaciju, ja ulazni signal niske frekvencije sinewave i ADC je pokrenut u 50Ms / s.Trebam li uzeti izlaz iz ADC ili trebam spojiti izlaz na ADC i DAC idealno koristiti izlaz iz te idealne DAC i pokrenuti program ispod?(1) Može li netko objasniti u nastavku programa.

% Raspon ulaznih freq na svakoj strani% span = 5;raspon = max (okrugli (numpt/200), 5);(2) Kada sam trčanje plan, Internet pokazivanje greška i ne znam kako to škripac Internet!Može netko ispraviti u nastavku programa koji će se koristiti u 10-bitni ADC na 50MHz sat frekvencije.

Cijenim bilo koji pomaže.************************************************** ********************

%------------------------------------------------- %
%% kod matlab izračunati SNR, SNDR, THD SFDR
%% Datum: 11 srpanj 2005
%% Rev: 1
%------------------------------------------------- %
fclk = 80e 6;
numpt = 32;
numbit = 3;
opterećenja test.dat;% učitati podatke sa diska
= test ';
N = length ();
% [M, N] = size ();% broj podataka
za i = 1:1: N;
c = int2str ((i));% promijenite vrstu podataka za cijeli niz vrsta
temp = 0;
Nlength = length (c);% duljine niza;
for j = 1:1: Nlength;
d = str2num (c (j)) * 2 ^ (Nlength-j);% binarno prosinca
temp = temp d;
end;
kod (i) = temp;% / numpt * 2.5;
end;
N = length (kod);
% zemljište rezultata u vremensko područje
figure;
plot ([1: N], broj);
title ( 'TIME DOMAIN')
xlabel ( 'UZORKE');
ylabel ( 'digitalni izlaz CODE');
zoom XON;

% recenter digitalni sinewave
Dout = (code-(2 ^ numbit-1)) / 2;
% ako nema prozor functionis koriste, ulazni ton mora biti izabran
% da će biti jedinstven i koji se odnose na uzorkovanje freq.To postići
% ovoga, prostih brojeva su uvedeni i ulaz ton je
% određena FIN = fSAMPLE * (Predsjednik Broj / record podataka veličine).
% Za opuštanje ovog uvjeta, prozorske funkcije kao što je Hanning
% HAMING može biti uvedena, no u temeljni
% rezultat FFT spektru pojavljuje "oštriji" bez
% korištenje prozora funkcija.
Doutw = Dout;
% Doutw = Dout .* Hanning (numpt);
% Doutw = Dout .* Hammingov (numpt);

% obavljanje FFT
Dout_spect = FFT (Doutw, numpt);
% preračunati u dB
Dout_dB = 20 * log10 (abs (Dout_spect));
% plot ([1: N / 2], Dout_dB (1: N / 2));
% prikaz rezultata u frekvencijskoj domeni s FFT zemljište
figure;
maxdB = max (Dout_dB (2: numpt / 2));

%% za TTIMD, koristite sljedeći kratki rutinu, normalizirani na-6.5dB
% pune skale.
% plot ([0: numpt/2-1] .* fclk / numpt, Dout_dB (1: numpt / 2)-maxdB-6.5);
plot ([0: numpt/2-1] .* fclk / numpt, Dout_dB (1: numpt / 2)-maxdB);
grid on;
title ( 'FFT ZEMLJIŠTA');
xlabel ( 'ANALOG Input Frequency (MHz)');
ylabel ( 'Amplituda (dB)');
% a1 = axis; axis ([a1 (1) A1 (2) -120 A1 (4)]);

%-----------------------------------------------%
% izračunati SNR, SINAD, ENOB, THD i SFDR vrijednosti
%-----------------------------------------------%
% pronaći broj signala kanta, DC = Ladica 1
fin = naći (Dout_dB (1: numpt / 2) == maxdB);
% Raspon ulaznih freq na svakoj strani
% span = 5;
raspon = max (okrugli (numpt/200), 5);
% približni traži raspona za harmonici na svakoj strani
spanh = 2;
% odrediti spektar snage
spectP = (abs (Dout_spect )).*( abs (Dout_spect));
% pronaći DC offset snaga
PDC = SUM (spectP (1: raspona));
ekstrakt% ukupne snage signala
Ps = SUM (spectP (raspon-fin: span fin));
% vektor / matric za pohranu i freq i snaga signala i harmonici
FH = [];
% 1. elementa u vektor / matrica predstavlja signal,
% sljedeći element ponavljanja 2. harmonijski, itd..
PH = [];
% pronaći harmonička freq i moć komponenti u FFT spektra
za har_num = 1:10
% ulaznih tonova veća od fSAMPLE se aliased natrag u spektra
ton rem = ((har_num * (fin-1) 1) / numpt, 1);
ako je ton> 0,5
% ulaznih tonova veći od 0.5 * fSAMPLE (nakon aliasing) odražavaju se
ton-ton = 1;
kraj
FH = [FH ton];
% za ovaj postupak za rad, osigurati presavijeni leđa harmonici višeg reda
% ne preklapaju
% s DC ili signalom ili nižeg reda harmonika
har_peak = max (spectP (okrugli (ton * numpt)-spanh: round (ton * numpt) spanh));
har_bin naći = (spectP (okrugli (ton * numpt)-spanh: round (ton * numpt) spanh) == har_peak);
har_bin = har_bin krug (ton * numpt)-spanh-1;
PH = [Ph svota (spectP (har_bin-1: har_bin 1))];
kraj

% utvrditi ukupne snage distorzija
Pd = SUM (pH (2,5));
% određuje snaga šuma
Pn = SUM (spectP (1: numpt / 2))-PDC-PS-Pd;
format;
= (Max (šifra)-min (kod))
ADB = 20 * log10 ();

SINAD = 10 * log10 (Ps / (PN Pd));
SNR = 10 * log10 (Ps / Pn);
DISP ( 'THD se izračunava od 2. do 5. reda harmonika');
THD = 10 * log10 (Pd / Ph (1));
SFDR = 10 * log10 (Ph (1) / max (Ph (2,10)));
DISP ( 'Signal & Harmonic snaga komponente:');
HD = 10 * log10 (Ph (1,10) / Ph (1));
ENOB = (SNR-1,7) / 6,0206;
% razlikovati harmonici svih lokacija unutar FFT zemljište
hold on;
zemljište (FH (2) * fclk, 0, 'Mo', FH (3) * fclk, 0, 'CX', FH (4) * fclk, 0, 'r ', FH (5) * fclk, 0, 'g *', FH (6) * fclk, 0, 'B', FH (7) * fclk, 0, 'BD', FH (

<img src="http://www.edaboard.com/images/smiles/icon_cool.gif" alt="Hladno" border="0" />

* fclk, 0, 'kv', FH (9) * fclk, 0, 'y ^');
Legend ('1 st ', '2 nd', '3 rd ', '4 th', '5 th ', '6 th', '7 th ', '8 th', '9 th ');

fprintf ( 'SINAD =% GDB \ n', SINAD);
fprintf ( 'SNR =% GDB \ n', SNR);
fprintf ( '% THD = GDB \ n', THD);
fprintf ( 'SFDR =% GDB \ n', SFDR);
fprintf ( 'ENOB =% g \ n', ENOB);

% dinamički raspon naočale, TTIMD
% dva ton IMD-a može biti lukav mjerenja, jer dodatna oprema
% potrebno (moć combiner za kombiniraju dvije ulazne frekvencije) može doprinijeti
% neželjenih intermodulacijski proizvode koji krivotvoriti ADC's intermodualtion
% distortion.You mora pridržavati sljedećih uvjeta optimizirati IMD-a
% performanse, iako oni čine odabir ispravnog unosa freq
% dosadan zadatak.
% Prvo, tonove unos mora pasti u passband ulaza filter.If
% tih tonova zajedno su u neposrednoj blizini (nekoliko desetaka ili stotina kiloherc za
% megaherca bandwith), odgovarajući prozor funkcija mora biti odabrana kao
% well.Placing im preblizu, međutim, svibanj dopustiti combiner snaga
% krivotvoriti ukupni IMD čitanja pridonoseći neželjenih 2. i 3.
% order IMD proizvode (ovisno o ulaznih tonova 'lokacija unutar
passband%). Razmak između ulaznih tonova predaleko osim svibanj poziv za različite
% prozoru tip koji ima manje freq resolution.The postava također zahtijeva min
% trofazni-locked signala generators.This zahtjev rijetko predstavlja
% problem za test laboratorija, ali generatori imaju različite mogućnosti i za
% podudaranje freq i amplitude.Compensating takve neusklađenosti postići (za
% primjer)-0.5dB FS dva-ton omotnicu i signal amplitude-6.5dB FS
% će povećati vaš napor i test vremena (vidi sljedeći program-kod
% extraction).

 
Možete koristiti izlaz za ADC kao unos ovog programa.I morate izmijeniti neki parametar tog programa prema tvoj potreba.Na primjer fclk, numbt, itd.

 
to je maxism program,

1.parametar 'span' je broj signala za smeće.Ove kante će se smatrati snagu signala.

2.u morati promijeniti neke parametre prema ur ckts postava.Dodano nakon 4 minuta:i U ne trebaju DAC,
File 'test.dat' bi trebao biti ur ADC rezultate simulacije.

 
hi, može u reći mene gdje svi možete preuzimanje datoteka ovaj matlab?

 
Showtime je napisao:

hi, može u reći mene gdje svi možete preuzimanje datoteka ovaj matlab?
 
hvala!
Pitanje: zašto raspon = max (okrugli (numpt/200), 5)?zašto odabrati numpt/200?numpt ako je jako velika i osnovna frekvencija je vrlo niska, moći izračunati sljedeći će biti u redu

 
Showtime je napisao:

hvala!

Pitanje: zašto raspon = max (okrugli (numpt/200), 5)?
zašto odabrati numpt/200?
numpt ako je jako velika i osnovna frekvencija je vrlo niska, moći izračunati sljedeći će biti u redu
 
snoop835 wrote:ekstrakt% ukupne snage signala

Ps = SUM (spectP (raspon-fin: span fin));

 
šesti je napisao:snoop835 wrote:ekstrakt% ukupne snage signala

Ps = SUM (spectP (raspon-fin: span fin));

 

Welcome to EDABoard.com

Sponsor

Back
Top