[elektro] Teljesitmeny meres FFT segitsegevel
uprogc .
uprogc at gmail.com
Mon Sep 28 12:31:20 CEST 2015
Sziasztok,
Nem vettem figyelembe hogy az ADC 2 -es complemens 24 bit egesz, es az
int-->float konverzional a konverziot vegzo fuggveny oszt 2147483648 -el.
Ezzel az ertekkel visszaszoroztam, de most tul nagy erteket mer.
Ezt meg ossze lehet jobban vnni, tudom, csak az erthetoseg kedveert irtam
igy.
Valakinek hatha van tovabbi otlete hozza.
A cel az fft kimeneten mar megszurt ~3.5 - 4 kHz savszelessegu jel
teljesitmenyenek a merese. Csak a real resznek a teljesitmenye erdekel,
mivel ebben van a demodulalt SSB spektruma.
static void calc_power_of_inp_sig(float *val, float *input_vect, float
*tmp_vect, unsigned int n)
{
unsigned int i;
float f;
*val = 0;
for(i=0; i < n; i++)
{
tmp_vect[i] = input_vect[i*2]; // just the real values from spectrum
tmp_vect[i] *= tmp_vect[i]; //^2
*val += tmp_vect[i]; //P
}
*val *= 1.0f / (512.0f ); // divide by 512 = fft size
*val = sqrtf(*val); // to Voltage
*val *= 2147483648.0f; //to adc value
*val *= 0.5f; // Vpp / 2 = Vpeak
*val *= 1.0f/1.4142f; // to RMS
*val *= 1.4901162970e-7f ; // 2.5 Vref / 16777214.0f *
tmp_vect[i]; ADC data to Voltage
*val *= *val; // to V^2 = P
//to dBm
*val = 10*log10f( (*val ) / 200.0f / 0.001f ) ; // / 50[ohm] / 0.001[W]
; // (1/50.0f*1000.0f
}
Udv.
Szabi
2015-09-27 12:37 GMT+03:00 uprogc . <uprogc at gmail.com>:
> Sziasztok,
>
> Tovabbra sem jo valami. Vagy megmindig felreertek valamit.
>
> FV:
>
> for(i=0; i < n; i++)
> {
> tmp_vect[i] = input_vect[i*2]; // just the real values from spectrum
> tmp_vect[i] *= 6.0f; // 6-al valo decimalas hatasa
> tmp_vect[i] *= 1.4901162970e-7f; // 2.5f / 16777214.0f *
> tmp_vect[i]; ADC data to V
> tmp_vect[i] *= 0.5f; // Vpp/2 = Vpeak
> // RMS -- Mivel nem osztunk gyok 2 vel, beszorozzuk gyok 2-vel
>
> tmp_vect[i] *= tmp_vect[i]; //^2
>
> *val += tmp_vect[i]; // SUM
> }
>
> *val *= 1.0f / 512.0f; // divide by 512
> *val = 10*log10f( (*val) / 50.0f / 0.001f ) ; // / 50[ohm] / 0.001[W]
> ; // (1/50.0f*1000.0f
>
> -200 dBm-et mer kb -90-110 helyett.. De jo is lenne ;)
>
> Udv.
> Szabi
>
> 2015-09-26 22:20 GMT+03:00 uprogc . <uprogc at gmail.com>:
>
>> ui:
>> Matlabban nincs ADC, es az 1 Vp teszt jellel sem lett jo a Parseval's-al
>> szamitva
>> A legutobb leirtakkal pedig jo lett.
>>
>> 2015-09-26 22:17 GMT+03:00 uprogc . <uprogc at gmail.com>:
>>
>>> Huu, tenyleg az ADC ... :)
>>>
>>> Koszi.
>>>
>>> Udv.
>>> Szabi
>>>
>>> 2015-09-26 22:00 GMT+03:00 Info <info at kiralyelektronika.hu>:
>>>
>>>> > Ezert van 50 ohmra szamitva kesobb a teljesitmeny.
>>>>
>>>> Miből? Kefírből? :)
>>>> Mire skáláztad az A/D utáni kiértékelés kimenetét?
>>>> A Te képleted akkor fog jó lenni, ha 1W = 50 (szám).
>>>> Azaz "P = 1/N * SUM( BIN ^ 2 ), ahol N az FFT merete."
>>>> itt a "P" betű = 50 egy wattnál.
>>>>
>>>> -----------------------------------------
>>>> elektro[-flame|-etc]
>>>
>>>
>>>
>>
>
More information about the Elektro
mailing list