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