Stap 5: Diepe weefsel masseren van signaal...
Voordat we verder gaan heb ik een kleine advertentie. Buiten het gebouw uw code in één klap, ik aanbevelen dat u alleen wijzigen / één ding tegelijk toevoegen bij de bouw van de eerste code. Test uw wijzigingen, indien succesvol blijven en als niet u gemakkelijk waar weten moet te beginnen met het opsporen van fouten. Commentaar uit secties of lijnen van code is een geweldige manier om gemakkelijk vinden van uw fout.
Nu terug naar de presentatie van de functie. Kunt concentreren op het instellen van een bereik om duidelijke grenzen zonder teveel resolutie. Tijdens het lezen beslissen de ruwe waarden over de waarden die u wilt gebruiken voor uw lage en hoge waarden en zet ze als constante variabelen. Denk na over de voorwaarden die u wilt starten als u uw gegevens wilt beperken. Hier volgen mijn twee methoden om te masseren en bereik variabelen te signaleren.
Variabelen:
RX signaal masseren van waarden
Const int RXLo = 920;
Const int RXHi = 1640;
Const int RXDeadLo = 1265;
Const int RXDeadHi = 1295;
Const int RXMid = 1280;
Methode 1:
Input signaal masseren
for (int i = 0; ik < = 8; i ++) //Signal Conditioning lus
{
Als (ch [i] < = lo) //Trim geluid vanaf de onderkant
{
CH [i] = lo;
}
Als (ch [i] < = deadhi & & ch [i] > = deadlo) //Create Dead-Band
{
CH [i] = midden;
}
Als (ch [i] > = Hallo) //Trim lawaai van bovenkant
{
CH [i] = Hallo;
}
}
Methode 2:
Het masseren van het signaal
for (int i = 0; ik < = 8; i ++) //Signal Conditioning lus
{
chEng [i] = beperken (chEng [i], RXLo, RXHi); Trim onderkant en bovenkant
Als (chEng [i] < = RXDeadHi & & chEng [i] > = RXDeadLo) {//Create Dead-Band
chEng [i] = RXMid;}
}
Zoals je kunt zien wordt de tweede methode is een beetje minder code en geeft een perfect voorbeeld van hoe de beperken-functie wordt gebruikt.