લો પાસ ફિલ્ટર: તમારે આ સર્કિટ વિશે જાણવાની જરૂર છે

લો પાસ ફિલ્ટર સર્કિટ

કોઇલ અને ઓપી એમ્પ્સ તમને ખૂબ જ રસપ્રદ સર્કિટ્સ બનાવવા માટે પરવાનગી આપે છે, જેમ કે પ્રખ્યાત આવર્તન ગાળકો. આ ફિલ્ટરો પાસે ઇલેક્ટ્રોનિક્સ ઉદ્યોગમાં ઘણી બધી એપ્લિકેશનો છે. જેમ કે લો પાસ ફિલ્ટર, ઉચ્ચ પાસ ફિલ્ટર વગેરેની જેમ. તેઓ ચોક્કસ ધ્વનિ એપ્લિકેશનો માટે ખાસ કરીને રસપ્રદ છે, અવાજને ફિલ્ટર કરવામાં સક્ષમ છે, અથવા વધુ અથવા ઓછા ગંભીર અવાજો તેમની આવર્તન મુજબ. તેથી, તેઓ ખૂબ ઉપયોગી છે.

જો તમે વિશે વધુ જાણવા માંગો છો લો પાસ ફિલ્ટર, અને અન્ય ફિલ્ટર્સ અને તે કેવી રીતે તમને આર્ડિનો અથવા ડીઆઈવાય સાથે તમારા પ્રોજેક્ટ્સમાં મદદ કરી શકે છે, હું તમને વાંચન ચાલુ રાખવા માટે પ્રોત્સાહિત કરું છું ...

ઇલેક્ટ્રિક ફિલ્ટર્સ

તેનું નામ સૂચવે છે તેમ, ફિલ્ટર એ એક સર્કિટ છે જે કોઇલ અને કેપેસિટરની શ્રેણીથી બનેલું છે, અને કેટલાક ઓપરેશનલ એમ્પ્લીફાયર્સ પણ, ફ્રીક્વન્સીના અમુક ભાગોને જ પસાર કરવા દે છે. એટલે કે, ઉપલબ્ધ આવર્તનના સંપૂર્ણ સ્પેક્ટ્રમમાંથી, તેઓ એક અથવા વધુ ભાગોને ફિલ્ટર કરશે જેથી તેઓને ત્યાંથી પસાર થતો અટકાવી શકાય.

જો માટે ઇઝેમ્પ્લો અમે માનવી દ્વારા audડિક્ટ્ર .ક્ટ વિશે વાત કરી રહ્યા છીએ, જે 20 હર્ટ્ઝથી 20 ઘ્ઝ્ડઝ સુધી જાય છે, ફિલ્ટર્સથી તમે ફક્ત વધુ કે ઓછા ટ્રબલ / બાસ અવાજોને પસાર થવા માટે, સૌથી નીચો અથવા સૌથી વધુ કા theી શકો છો. તે કંઈક છે જેનો ઉપયોગ ઘણી audioડિઓ રેકોર્ડિંગ અથવા પ્રજનન પ્રણાલીઓ કરે છે, જેમ કે માઇક્રોફોન, સ્પીકર્સ, વગેરે.

પ્રકારો

અનુસાર ફિલ્ટર પ્રકાર, અથવા તેના બદલે, તેઓ અવરોધિત કરેલી આવર્તન અથવા તેના દ્વારા નિર્ભર કરેલા એક પર આધાર રાખીને, ત્યાં વિવિધ પ્રકારનાં સર્કિટ્સ છે:

  • લો પાસ ફિલ્ટર: તેમને એટલા માટે કહેવામાં આવે છે કારણ કે તે તે ફિલ્ટર્સ છે જે સૌથી ઓછી આવર્તન પસાર કરે છે અને દબાવવા અથવા freંચી ફ્રીક્વન્સીઝનો પાસ ઘટાડવા દે છે. તેમાં એક અથવા વધુ કોઇલ (વીજ પુરવઠો અને લોડ સાથેની શ્રેણીમાં), અને વીજ પુરવઠો અને ભાર સાથે એક અથવા બે શંટ કેપેસિટર હોય છે. યાદ રાખો કે ભાર એ ફિલ્ટર સાથે જોડાયેલ ડિવાઇસ છે અને તે ફિલ્ટરનું આઉટપુટ એકત્રીત કરે છે તે સમજી શકાય છે ... આ ફિલ્ટર્સની અંદર એલ, ટી અને જેવા ચલો પણ છે. π.
  • ઉચ્ચ પાસ ફિલ્ટર: ઉચ્ચ પાસ ફિલ્ટર એ નીચલા પાસની વિરુદ્ધ છે, આ કિસ્સામાં, તે ફિલ્ટર કરશે કે મર્યાદા કરશે તે ઓછી આવર્તન પાસ છે, ઉચ્ચ આવર્તન પસાર થવા દે છે. આમાં તેનું કંપોઝ કરનારા ઇલેક્ટ્રોનિક તત્વોનું રોકાણ કરવામાં આવે છે. તે છે, અહીં કેપેસિટર્સ વીજ પુરવઠો અને લોડ સાથેની શ્રેણીમાં હશે, જ્યારે કોઇલ બંધ કરવામાં આવશે. ઓછા પાસ ફિલ્ટર્સના કિસ્સામાં સમાન પેટા પ્રકારો પણ છે.
  • બેન્ડ પાસ ફિલ્ટર: આ પ્રકારનું ફિલ્ટર બે આવર્તન બેન્ડ પાસ દર તાળાઓનો ઉપયોગ કરે છે. તે છે, તે નીચલા ફ્રીક્વન્સીઝના પસાર થવાનો વિરોધ કરે છે અને તે જ સમયે સૌથી વધુ, ઓછા પાસ ફિલ્ટર અને ઉચ્ચ પાસ ફિલ્ટર તરીકે પણ કાર્ય કરે છે. બીજા શબ્દોમાં કહીએ તો, તે ફક્ત મધ્યમ આવર્તનને જ પસાર કરવાની મંજૂરી આપે છે.
  • બેન્ડ ફિલ્ટર: તે પાછલા એકની બરાબર વિરુદ્ધ છે, તે શું કરે છે તે મધ્ય ફ્રીક્વન્સીઝના પાસને ફિલ્ટર કરે છે અને ફક્ત સૌથી નીચી અને ઉચ્ચતમ આવર્તન દ્વારા પસાર થાય છે.

તે યાદ રાખો ઇન્ડક્ટન્સ તેઓ ઓછી આવર્તન દ્વારા પસાર થવા દે છે અને ઉચ્ચ આવર્તન પસાર થવાનો વિરોધ કરે છે. તેના બદલે, કેપેસિટર તેઓ ઉચ્ચ આવર્તન દ્વારા પસાર થાય છે અને ઓછી આવર્તન પસાર થવાનો વિરોધ કરે છે.

હું તે ફિલ્ટર્સને વ્યવહારિક સ્તર પર ઉમેરવા માંગું છું તેઓ સંપૂર્ણ નથી, અને તેઓ હંમેશાં ઓછી અથવા ઉચ્ચ આવર્તનો પસાર કરી શકે છે જેને તમારે અવરોધિત કરવું જોઈએ. જો કે, તેઓ મોટાભાગની એપ્લિકેશનો માટે તેમનું કાર્ય ખૂબ સારી રીતે કરે છે.

અને આખરે, હું બીજી એક સ્પષ્ટતા પણ કરવા માંગુ છું, અને તે તે છે કે તમે ચોક્કસપણે આ વિશે સાંભળ્યું છે EMA અને DEMA ગાળકો. ઇએમએ (એક્સપોંશનલ મૂવિંગ એવરેજ) ફિલ્ટર્સ આ પ્રકારના ફિલ્ટર્સને એમ્બેડ કરેલા ઉપકરણોમાં સરળ રીતે અમલમાં મૂકવાની મંજૂરી આપે છે. ડીઇએમએ (ડબલ એક્સપોંશનલ મૂવિંગ એવરેજ) ની વાત છે, તેમનો અવાજ કે જેને તમે ટાળવા માંગો છો તેના સારા દમનને જાળવી રાખતા, EMA કરતા વધુ ઝડપી પ્રતિસાદ છે.

આલ્ફા ફેક્ટર

El આલ્ફા પરિબળ, જે તમે જોશો કે જે આગળના ભાગમાં આર્ડુનો આઇડીઇ કોડ્સમાં દેખાય છે, તે પરિમાણ છે જે ઘાતાંકીય ફિલ્ટરની વર્તણૂકની સ્થિતિ બનાવે છે. તે કટઓફ આવર્તન સાથે સંબંધિત છે:

  • આલ્ફા = 1: જે અનફિલ્ટર આઉટપુટ માટે સંકેત પ્રદાન કરે છે.
  • આલ્ફા = 0: ફિલ્ટર મૂલ્ય હંમેશા 0 રહેશે.
  • આલ્ફા = એક્સ: અન્ય મૂલ્યો ઇએમએ ફિલ્ટરમાં અન્ય ફેરફાર મેળવી શકે છે. જો તમે આલ્ફા ફેક્ટરને ઓછો કરો છો, તો તમે વધુ પ્રાપ્ત આવર્તન સંકેતને નરમ કરશો, અને સિસ્ટમનો પ્રતિસાદ સમય પણ વધ્યો છે (સ્થિર થવામાં તે વધુ સમય લે છે).

ગાળકો અને અરડિનો

અરડિનો આઇ 2 સી બસ

આ ફિલ્ટર્સનો ઉપયોગ કરવા માટે, અરડિનો આઇડીઇ માટે લાઇબ્રેરીનો ઉપયોગ કરવાનું તમારું કાર્ય વધુ સરળ બનાવશે. તમે ઉપયોગ કરી શકો છો આ જ.

તમારે જાણવું જોઈએ કે સર્કિટ બનાવવી જરૂરી નથી ઉચ્ચ પાસ ફિલ્ટર અથવા લો પાસ ફિલ્ટર તેને તમારા અરડિનો બોર્ડથી કનેક્ટ કરવા અને તેની સાથે કાર્ય કરવા માટે. જો કે તમે આ પ્રકારના સરળ ફિલ્ટર્સનો પ્રયોગ અને નિર્માણ કરી શકો છો, તમે પણ પરીક્ષણ કરી શકો છો કે EMA ફક્ત આર્ડિનો બોર્ડ અને અર્ડુનો IDE માટેના સરળ કોડ સાથે કેવી રીતે કાર્ય કરશે. તમારે ફક્ત તે જોવા માટેની જરૂર છે કે તે કેટલીક ફ્રીક્વન્સીઝને ફિલ્ટર કરવા માટેનો ચાર્જ કેવી છે (આ કિસ્સામાં ક્રિયા સિમ્યુલેટેડ છે અને કેટલાક પૂર્ણાંકો / ફ્લોટ્સ ખાલી ફિલ્ટર છે હું શું કરીશ તે અનુકરણ ખરેખર ફિલ્ટર કરો).

અહીં કેટલાક કોડ નમૂનાઓ છે જેનો તમે ઉપયોગ કરવા માટે ઉપયોગ કરી શકો છો.

પ્રકારનાં અર્ડુનોમાં સરળ ડિજિટલ ફિલ્ટરનું ઉદાહરણ લો પાસ:

float   lowpass_prev_out[LOWPASS_ANALOG_PIN_AMT], 
         lowpass_cur_out[LOWPASS_ANALOG_PIN_AMT];
int        lowpass_input[LOWPASS_ANALOG_PIN_AMT];
 
 
int adcsample_and_lowpass(int pin, int sample_rate, int samples, float alpha, char use_previous) {
  // pin:            Pin analógico de Arduino usado
  // sample_rate:    El ratio adecuado
  // samples:        Samples
  // alpha:          El factor Alpha para el filtro paso bajo
  // use_previous:   Si es true se sigue ajustando hasta el valor más reciente. 
 
  float one_minus_alpha = 1.0-alpha;
  int micro_delay=max(100, (1000000/sample_rate) - 160);  
  if (!use_previous) { 
    lowpass_input[pin] = analogRead(pin);
    lowpass_prev_out[pin]=lowpass_input[pin]; 
  }
  int i;
  for (i=samples;i>0;i--) {
    delayMicroseconds(micro_delay);
    lowpass_input[pin] = analogRead(pin);
    lowpass_cur_out[pin] = alpha*lowpass_input[pin] + one_minus_alpha*lowpass_prev_out[pin];
    lowpass_prev_out[pin]=lowpass_cur_out[pin];
  }
  return lowpass_cur_out[pin];
}
 
int resulting_value;
 
void setup() {
   Serial.begin(9600);
   resulting_value = adcsample_and_lowpass(0, 1000, 300, 0.015, false); 
}
 
void loop() {
   resulting_value = adcsample_and_lowpass(0, 1000, 150, 0.015, true);  
   Serial.println(resulting_value);

આર્ડુનો પ્રકાર માટે કોડ ઉદાહરણ ઉચ્ચ પાસ:

int sensorPin = 0;    //pin usado para el ADC
int sensorValue = 0;  //Inicia sensor variable equivalente a EMA Y
float EMA_a = 0.3;    //Inicialización del EMA Alpha
int EMA_S = 0;        //Iniciación del EMA s
int highpass = 0;
 
void setup(){
  Serial.begin(115200);              
  EMA_S = analogRead(sensorPin);     
}
 
void loop(){
  sensorValue = analogRead(sensorPin);              //Lee el valor del sensor ADC
  EMA_S = (EMA_a*sensorValue) + ((1-EMA_a)*EMA_S);  //Ejecuta el filtro EMA
  highpass = sensorValue - EMA_S;                   //Calcula la seña alta
 
  Serial.println(highpass);
   
  delay(20);                                //Espera 20ms
}

અર્ડુનો કોડ ઉદાહરણ બેન્ડ પાસ:

int sensorPin = 0;        //Pin para el ADC
int sensorValue = 0;      //Inicia la variable del sensor, equivale a EMA Y
 
float EMA_a_low = 0.3;    //Inicia EMA Alpha
float EMA_a_high = 0.5;
 
int EMA_S_low = 0;        //Inicia EMA S
int EMA_S_high = 0;
 
int highpass = 0;
int bandpass = 0;
 
void setup(){
  Serial.begin(115200);                   
   
  EMA_S_low = analogRead(sensorPin);      
  EMA_S_high = analogRead(sensorPin);
}
 
void loop(){
  sensorValue = analogRead(sensorPin);    //Lee el valor del sensor ADC
   
  EMA_S_low = (EMA_a_low*sensorValue) + ((1-EMA_a_low)*EMA_S_low);  //Ejecuta EMA
  EMA_S_high = (EMA_a_high*sensorValue) + ((1-EMA_a_high)*EMA_S_high);
   
  highpass = sensorValue - EMA_S_low;     
  bandpass = EMA_S_high - EMA_S_low;     
 
  Serial.print(highpass);
  Serial.print(" ");
  Serial.println(bandpass);
   
  delay(20);                              
}

અર્ડુનો કોડ ઉદાહરણ બેન્ડ માટે:

int sensorPin = 0;          //Pin usado para el ADC
int sensorValue = 0;        //Inicio para EMA Y
 
float EMA_a_low = 0.05;     //Inicio de EMA alpha 
float EMA_a_high = 0.4;
 
int EMA_S_low = 0;          //Inicia EMA S
int EMA_S_high = 0;
 
int highpass = 0;
int bandpass = 0;
int bandstop = 0;
 
void setup(){
  Serial.begin(115200);                     
   
  EMA_S_low = analogRead(sensorPin);        
  EMA_S_high = analogRead(sensorPin);
}
 
void loop(){
  sensorValue = analogRead(sensorPin);      //Lee el valor del sensor ADC
   
  EMA_S_low = (EMA_a_low*sensorValue) + ((1-EMA_a_low)*EMA_S_low);          //Ejecuta EMA
  EMA_S_high = (EMA_a_high*sensorValue) + ((1-EMA_a_high)*EMA_S_high);
   
  bandpass = EMA_S_high - EMA_S_low;       
 
  bandstop = sensorValue - bandpass;        
 
  Serial.print(sensorValue);
  Serial.print(" ");
  Serial.print(EMA_S_low);
  Serial.print(" ");
  Serial.println(bandstop);
   
  delay(20);                                
}

યાદ રાખો કે એડીસી એ આર્દુનો એનાલોગ ડિજિટલ કન્વર્ટર છે. 0-5v ની શ્રેણીનો ઉપયોગ કરો, 0-1023 ની રેન્જમાં વહેંચો. જો મૂલ્ય 0 વી હોય, તો 0 નું ડિજિટલ મૂલ્ય લેવામાં આવે છે, અને જો તે 5 વી છે, તો 1023 સિગ્નલ મૂલ્ય તરીકે લેવામાં આવશે, 1 વી 204 એમ હોઈ શકે, 2 વી 408 હશે.

હું તમને આ કોડ્સમાં ફેરફાર અને પ્રયોગ કરવાની સલાહ આપીશ. પરિણામ તમે કરી શકો છો ખૂબ ગ્રાફિકલી જુઓ અરડિનો આઇડીઇના સીરીયલ પ્લોટરને આભાર ... યાદ રાખો કે જો તમને આર્ડિનો પ્રોગ્રામિંગ વિશે અથવા આઇડીઇનો ઉપયોગ કેવી રીતે કરવો તે વિશે પ્રશ્નો હોય, તો તમે આ ડાઉનલોડ કરી શકો છો પીડીએફમાં મફત એચડબલ્યુલેબ્રે કોર્સ.


ટિપ્પણી કરવા માટે સૌ પ્રથમ બનો

તમારી ટિપ્પણી મૂકો

તમારું ઇમેઇલ સરનામું પ્રકાશિત કરવામાં આવશે નહીં. આવશ્યક ક્ષેત્રો સાથે ચિહ્નિત થયેલ છે *

*

*

  1. ડેટા માટે જવાબદાર: મિગ્યુએલ gelંજેલ ગેટóન
  2. ડેટાનો હેતુ: નિયંત્રણ સ્પામ, ટિપ્પણી સંચાલન.
  3. કાયદો: તમારી સંમતિ
  4. ડેટાની વાતચીત: કાયદાકીય જવાબદારી સિવાય ડેટા તૃતીય પક્ષને આપવામાં આવશે નહીં.
  5. ડેટા સ્ટોરેજ: cસેન્ટસ નેટવર્ક્સ (ઇયુ) દ્વારા હોસ્ટ કરેલો ડેટાબેઝ
  6. અધિકાર: કોઈપણ સમયે તમે તમારી માહિતીને મર્યાદિત, પુન recoverપ્રાપ્ત અને કા deleteી શકો છો.