Matlab program za SFDR!

J

jeniffer

Guest
Bok svima,

Ja sam težak to simulirati ADC za SFDR, SNR, THD i SNDR.U Matlab kod je priložen kao ispod.Ja sam novi u Matlab i ne može u potpunosti razumjeti program.

Za simulaciju, ja ulazni signal niske frekvencije sinewave i ADC je trčanje na 50Ms / s.Trebam li uzeti izlaz iz ADC ili trebam spojiti izlazna ADC da idealno DAC i koristiti izlaz iz tog ideal DAC i pokrenite program ispod?(1) Može li netko objasniti programa u nastavku.
% Pedalj od ulaznih Frekv na svakoj strani
span% = 5;
raspon = max (okrugli (numpt/200), 5);

(2) Kada pokrenete program, to pokazuje pogrešku i ne znam kako to popraviti!Može netko ispravan program ispod koje će se koristiti u 10-bitni ADC frekvencija takta na 50MHz.

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

%------------------------------------------------- %
%% Matlab koda za izračunavanje SNR, SNDR, THD SFDR
%% Datum:
11. srpnja 2005
%% rev: 1
%------------------------------------------------- %
fclk = 80e 6;
numpt = 32;
numbit = 3;
load test.dat;% učitati podatke s diska
a = test ';
N = length (a);
% [M, n] = size (a);% broja podataka
for i = 1:1: N;
c = int2str (a (i));% promijeniti vrstu podataka za cijeli niz vrsta
temp = 0;
Nlength = duljina (c);% dužine niz;
za j = 1:1: Nlength;
d = str2num (c (j)) * 2 ^ (Nlength-j);% binarnih znakova u pro
temp = temp d;
end;
broj (i) = temp;% / numpt * 2,5;
end;
N = length (broj);
% zemljište rezultate u vremensko područje
lik;
zemljište ([1: N], broj);
naslov ( 'TIME DOMAIN ")
xlabel ( 'Uzorci');
ylabel ( 'digitalni izlaz kod ");
xon zoom;

% recenter digitalni sinewave
Dout = (code-(2 ^ numbit-1)) / 2;
% ako ne prozor functionis koriste, ulazni ton mora biti izabrani
% da bude jedinstven i koji se odnose na uzorkovanje freq.To postići
% to, premijera brojevi su uvedeni i ulazni ton
% određuje FIN = fSAMPLE * (Prime Broj / record Data size).
% Opustiti taj uvjet,
prozorske funkcije kao HANNING
% HAMING može biti uveden, ali je temeljna u
% rezultira FFT spektru pojavi "oštriji" bez
% korištenje prozora funkcije.
Doutw = Dout;
% Doutw = Dout .* hanning (numpt);
% Doutw = Dout .* Hammingov (numpt);

% obavljanju FFT
Dout_spect = fft (Doutw, numpt);
% preračunati u dB
Dout_dB = 20 * log10 (ABS (Dout_spect));
% zemljište ([1: N / 2], Dout_dB (1: N / 2));
% prikaz rezultata u frekvencijskom domenu s FFT zemljište
lik;
maxdB = max (Dout_dB (2: numpt / 2));

%% za TTIMD, koristite sljedeći kratki rutinu, normalizirani na-6.5dB
% pune skale.
% zemljište ([0: numpt/2-1] .* fclk / numpt, Dout_dB (1: numpt / 2)-maxdB-6,5);
zemljište ([0: numpt/2-1] .* fclk / numpt, Dout_dB (1: numpt / 2)-maxdB);
grid on;
naslov (FFT ZEMLJIŠTA ');
xlabel ( 'Analogni ULAZ FREKVENCIJI (MHz)');
ylabel ( 'Amplituda (dB)');
% a1 = axis; axis ([a1 (1) A1 (2) -120 A1 (4)]);

%-----------------------------------------------%
% izračunajte SNR, SINAD, ENOB, THD SFDR i vrijednosti
%-----------------------------------------------%
% pronaći signal bin broj, DC = 1 kanta
FIN naći = (Dout_dB (1: numpt / 2) == maxdB);
% Pedalj od ulaznih Frekv na svakoj strani
span% = 5;
raspon = max (okrugli (numpt/200), 5);
% pribliľna traži span za harmonici na svakoj strani
spanh = 2;
% odrediti spektar snage
spectP = (ABS (Dout_spect )).*( ABS (Dout_spect));
% pronaći offset DC power
PDC = suma (spectP (1: span));
% ekstrakta ukupni signal power
Ps = suma (spectP (FIN-span: span FIN));
% vektor / matric za pohranu oba Frekv i snaga signala i harmonici
FH = [];
%
1. elementa u vektor / matrica predstavlja signal,
% sljedeći element reps
2. harmonik, itd..
PH = [];
% pronaći snage i harmoničko Frekv komponente u FFT spektra
za har_num = 1:10
% ulaznih tonova veći od fSAMPLE su aliased nazad u spektru
ton = Rem ((har_num * (FIN-1) 1) / numpt, 1);
ako je ton> 0,5
% ulaznih tonova veći od 0,5 * fSAMPLE (nakon poduzorkovanje) odražavaju se
ton-ton = 1;
kraj
FH = [FH ton];
% za ovaj postupak na posao, osigurati povratak visoke omotane naručiti harmonici
% ne preklapaju
% s ili DC signal ili niži poredak harmonici
har_peak = max (spectP (okrugli (ton * numpt)-spanh: round (ton * numpt) spanh));
= har_bin pronaći (spectP (okrugli (ton * numpt)-spanh: round (ton * numpt) spanh) == har_peak);
har_bin = har_bin okrugli (ton * numpt)-spanh-1;
PH = [Ph zbroj (spectP (har_bin-1: har_bin 1))];
kraj

% utvrditi ukupan izobličenju napajanja
Pd = suma (pH (2,5));
% odrediti snaga šuma
Pn = suma (spectP (1: numpt / 2))-PDC-PS-Pd;
format;
A = (max (broj)-min (code))
ADB = 20 * log10 (A);

SINAD = 10 * log10 (Ps / (PN Pd));
SNR = 10 * log10 (Ps / PN);
disp ( 'THD se obračunava od
2. do
5. reda harmonici');
THD = 10 * log10 (Pd / Ph (1));
SFDR = 10 * log10 (pH (1) / max (Ph (2:10)));
disp ( 'Signal & Harmonic moć komponente:');
HD = 10 * log10 (pH (1:10) / Ph (1));
ENOB = (SNR-1.7) / 6,0206;
% razlikovao harmonici svih lokacija unutar FFT zemljište
na čekanju;
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, 'BS', FH (7) * fclk, 0, 'BD', FH (Cool fclk *, 0, 'kv', FH (9) * fclk, 0, 'y ^');
legend ('1 st ','2 nd','3 rd ','4 th', th'5 ','6 th','7 th ', th'8','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 opseg naočale, TTIMD
% dva zvona IMD može biti lukav mjerenja, jer je dodatna oprema
% obavezna (a power combiner za kombiniranje dvije ulazne frekvencije) može pridonijeti
% neželjenih intermodulacijski proizvode na koje se falsifikovati ADC-a intermodualtion
% distortion.You mora pridržavati sljedećih uvjeta da optimizirate IMD
% performansi, iako oni čine odabir ispravnog unosa Frekv jedan
% zamoran zadatak.
% Prvo, ulaznih tonova mora pasti u passband za unos filter.If
% tih tonova bliski zajedno (nekoliko desetaka ili stotina kiloherc za
% megahertz bandwith), odgovarajući prozor funkcija mora biti izabran za
% well.Placing ih previše bliski zajedno, međutim,
svibanj omogućiti power combiner
% u ukupnom falsifikovati IMD čitanja koje pridonose neľeljenih
2. i
3.% IMD naručiti proizvode (u zavisnosti od ulaznih tonova 'mjesto unutar
passband%). Razmak ulaznih tonova previše udaljeni svibanj poziv za neku drugu
% prozor tipa koji ima manje Frekv resolution.The setup također zahtijeva od min
% tri fazno zaključan generators.This signal zahtjeva rijetko predstavlja
% problem za test laboratorija, ali generatori imaju različite mogućnosti za
% podudaranje Frekv i amplitude.Compensating takve mismatches postići (za
% primjer) a-0.5dB FS dva-ton omotnica i signal amplitude of-6.5dB FS
% će povećati vaš napor i test vremena (pogledajte sljedeći program-code
% ekstrakcija).

 
Bok,

Morate dati uzorak bitni.To je bez sumnje.Budući da je inicijalni dio bitova pretvara u decimalni mumbers odgovaraju.Kasnije dijelovi rade na ovim pretvara decimalni brojevi.Dovoljno je otići premda opterećenja Matlab funkciju u pomoć (tip "pomoć load") za formatu morate dati Matlab.Vjerojatno trebate staviti podatkovna datoteka u radu imenik Matlab kao potpuni put nije određeno.Put u radu se daje direktorij u jednom kutu prozora naredbenog sučelja Matlab software.Upišite ti podaci u tekstualnu datoteku "test.dat" i kopirajte ga u radu direktoriju.Ostatak stvari bit će automatski preuzeta briga AFAIK.

 
moj prijedlog je možete potražiti na webu da biste dobili besplatni Toolbox Matlab kako izračunati SFDR.

može pružiti više fleksibilnosti za svoj dizajn, a možete dobiti korištenjem easlier.

a vi samo trebate izlaz vašeg ADC i uzorak za svoju frekvenciju ADC.može ispravno raditi.

sretno!

 
može bilo koji tijelo recite kako izračunati specifikaciju svih ADC koristeći Matlab

 
Hello ...

Molim Vas, recite mi da ako vektor S. .. n Buka vetor N zatim kako možemo izračunati cal svojih SNR ... molim recite mene ... čekajući Vaš odgovor ...Thanx

Pozdravi
Adnan

 

Welcome to EDABoard.com

Sponsor

Back
Top