Motor de Búsqueda de Datasheet de Componentes Electrónicos |
|
SI4712 Datasheet(PDF) 3 Page - Silicon Laboratories |
|
SI4712 Datasheet(HTML) 3 Page - Silicon Laboratories |
3 / 14 page AN307 Rev. 0.2 3 3. RPS Algorithm Implementation This section provides pseudocode for the algorithms for implementing the RPS scan algorithms discussed previously. In order to determine the noise level at a given frequency the Si4712/13/20/21 function TX_TUNE_MEASURE is called with the desired frequency. The results are read using the TX_TUNE_STATUS command. The GET_INT_STATUS command must be performed between sending the TX_TUNE_MEASURE command and reading the TX_TUNE_STATUS to ensure that the measurement has completed. The measurement completion is indicated by the Seek Tune Complete (STCINT) bit. Pseudocode for this algorithm is shown below. TCL code that demonstrates scanning the entire US FM band is included as Appendix A. This code allows the number of filter taps and the number of bands to break the scan into to be set via variables. It is straightforward to modify this code to use a single RNL measurement when choosing the minimum noise level rather than the filtered (averaged) version. This algorithm requires the host to maintain 3 arrays: the filter values to average (e.g. 3, 5 or more consecutive measurements), the filter coefficients (3, 5, or more matching the filter width), and the list of minimal values found per FM frequency range. INIT FilterData to {0 0 0 0 0} //FilterData array holds the noise values of the current, adjacent, // alternate channels. The values are arranged in the array as: //{N+2, N-2, N-1, N, N+1} INIT FilterCoefficients to {1 1 2 6 2} //FilterCoefficients array holds the filter coefficients for weighing //the value of each channel in the average. INIT Minima to {0 0 0 0 0} //Minima array stores the frequency with the lowest averaged noise //level for each of the 5 bands. INIT ChannelsPerBand to ( number of channels in the FM band) / ( number of bands ) //ChannelsPerBand stores how many FM channels exist //in each of the bands FOR each i = ( number of channels in the FM band + ( FilterWidth / 2 ) ) //Scan the entire FM band SET CurrentChannel to ( StartingFreq + ( i * ChannelSpacing ) ) SET CurrentBand to ( i / ChannelsPerBand ) SET FilterPointer to ( i MODULUS ( FilterWidth ) ) //FilterPointer indicates the location in FilterData to fill //with the next noise level reading IF CurrentChannel > (top of the FM band) SET FilterData at FilterPointer to 0 ELSE //Tune and measure the noise level CALL TX_TUNE_MEASURE with CurrentChannel and 1 REPEAT CALL GET_INT_STATUS UNTIL SEEK TUNE COMPLETE SET MeasuredRNL to ( CALL TX_TUNE_STATUS with 0 ) SET FilterData at FilterPointer to (MeasuredRNL) IF i > ( FilterWidth / 2) |
Número de pieza similar - SI4712 |
|
Descripción similar - SI4712 |
|
|
Enlace URL |
Política de Privacidad |
ALLDATASHEET.ES |
¿ALLDATASHEET es útil para Ud.? [ DONATE ] |
Todo acerca de Alldatasheet | Publicidad | Contáctenos | Política de Privacidad | Intercambio de Enlaces | Lista de Fabricantes All Rights Reserved©Alldatasheet.com |
Russian : Alldatasheetru.com | Korean : Alldatasheet.co.kr | Spanish : Alldatasheet.es | French : Alldatasheet.fr | Italian : Alldatasheetit.com Portuguese : Alldatasheetpt.com | Polish : Alldatasheet.pl | Vietnamese : Alldatasheet.vn Indian : Alldatasheet.in | Mexican : Alldatasheet.com.mx | British : Alldatasheet.co.uk | New Zealand : Alldatasheet.co.nz |
Family Site : ic2ic.com |
icmetro.com |