کم پاس فلٹر: ہر وہ چیز جو آپ کو اس سرکٹ کے بارے میں جاننے کی ضرورت ہے

کم پاس فلٹر سرکٹ

کنڈلی اور اوپی امپس آپ کو بہت دلچسپ سرکٹس ، جیسے مشہور بنانے کی اجازت دیتے ہیں تعدد فلٹرز. الیکٹرانکس انڈسٹری میں ان فلٹرز کی بہت سی ایپلی کیشنز ہیں۔ جیسا کہ لو پاس فلٹر ، ہائی پاس فلٹر وغیرہ کا معاملہ ہے۔ وہ خاص طور پر کچھ صوتی ایپلی کیشنز کے ل are دلچسپ ہیں ، جو آواز کو فلٹر کرنے کے قابل ہیں ، یا اس کی فریکوئنسی کے مطابق زیادہ سے زیادہ سنجیدہ آوازیں۔ لہذا ، وہ بہت مفید ہیں۔

اگر آپ اس کے بارے میں مزید جاننا چاہتے ہیں کم پاس فلٹر، اور دوسرے فلٹرز ، اور وہ کیسے آرڈینو یا ڈی آئی وائی کے ذریعہ آپ کے منصوبوں میں آپ کی مدد کرسکتے ہیں ، میں آپ کو پڑھنے کو جاری رکھنے کی ترغیب دیتا ہوں ...

الیکٹرک فلٹرز

جیسا کہ اس کے نام سے پتہ چلتا ہے ، فلٹر ایک سرکٹ ہے جو کنڈلیوں اور کیپسیٹرز کی ایک سیریز سے بنا ہوا ہے ، اور یہاں تک کہ کچھ آپریشنل امپلیفائر ، کے مقصد کے لئے تعدد کے صرف کچھ حص partsے کو گزرنے دینا. یعنی دستیاب تعدد کے پورے شعبے میں سے ، وہ گزرنے سے روکنے کے ل one ایک یا زیادہ حصے کو فلٹر کریں گے۔

اگر کے لئے ایجیمپل ہم انسان کیذریعہ اسپیکٹرم کے بارے میں بات کر رہے ہیں ، جو 20 ہرٹج سے 20 Khz تک جاتا ہے ، ان فلٹرز کے ذریعے آپ کم یا زیادہ تر کو ختم کرسکتے ہیں ، تاکہ صرف کم یا زیادہ تر تگنا / باس کی آوازیں ہی گزر نہ سکیں۔ یہ ایسی چیز ہے جس میں بہت سے آڈیو ریکارڈنگ یا تولیدی نظام استعمال کرتے ہیں ، جیسے مائکروفونز ، اسپیکر وغیرہ۔

پروپوزل کی گذارش

کے مطابق فلٹر کی قسم، یا بلکہ ، ان کی فریکوئینسی پر انحصار کرتے ہیں یا جس کے ذریعے وہ گزرتے ہیں ، مختلف قسم کے سرکٹس ہیں جو ہیں:

  • کم پاس فلٹر: انہیں اس لئے کہا جاتا ہے کیونکہ وہ وہ فلٹر ہیں جو نچلی تعدد کو گزرنے اور دبانے یا اعلی تعدد کے گزرنے کو کم کرنے دیتے ہیں۔ ان میں ایک یا زیادہ کنڈلی (بجلی کی فراہمی اور بوجھ کے ساتھ سلسلہ میں) ، اور بجلی کی فراہمی اور بوجھ کے ساتھ ایک یا دو شینٹ کپیسیٹرز پر مشتمل ہے۔ یاد رکھیں کہ بوجھ کو فلٹر سے منسلک آلہ سمجھا جاتا ہے اور یہ فلٹر آؤٹ پٹ جمع کرتا ہے ... ان فلٹرز کے اندر بھی مختلف قسمیں ہوتی ہیں ، جیسے ایل ، ٹی اور π.
  • ہائی پاس فلٹر: ہائی پاس فلٹر کم پاس کے برعکس ہے ، اس معاملے میں ، زیادہ تعدد گزرنے کی اجازت دیتے ہوئے ، کم تعدد پاس کو کیا فلٹر یا حد بنائے گا۔ اس میں یہ تیار کرنے والے الیکٹرانک عناصر کی سرمایہ کاری ہوتی ہے۔ یعنی ، یہاں کیپیسٹرس بجلی کی فراہمی اور بوجھ کے ساتھ سلسلہ میں ہوں گے ، جبکہ کنڈلی ختم کردیئے جائیں گے۔ کم پاس فلٹرز کے معاملے میں بھی وہی ذیلی قسمیں ہیں۔
  • بینڈ پاس فلٹر: اس قسم کا فلٹر دو تعدد بینڈ پاس کی شرح کے بلاکس کو پیش کرتا ہے۔ یعنی ، وہ ایک کم پاس فلٹر اور ایک اعلی پاس فلٹر کے طور پر کام کرتے ہیں ، جو سب سے کم تعدد کے گزرنے کی مخالفت کرتے ہیں اور بیک وقت سب سے زیادہ بھی۔ دوسرے الفاظ میں ، یہ صرف درمیانی تعدد کو ہی گزرنے دیتا ہے۔
  • بینڈ فلٹر: یہ پچھلے والے کے بالکل برعکس ہے ، جو کرتا ہے وہ یہ ہے کہ یہ وسط تعدد پاس کو فلٹر کرتا ہے اور صرف کم ترین اور بلند ترین تعدد کو ہی گزرنے دیتا ہے۔

یاد رکھو inductance وہ کم تعدد سے گزرتے ہیں اور اعلی تعدد کو گزرنے کی مخالفت کرتے ہیں۔ اس کے بجائے ، کیپسیٹرز وہ اعلی تعدد سے گزرتے ہیں اور کم تعدد کی منظوری کی مخالفت کرتے ہیں۔

میں ان فلٹرز کو عملی سطح پر شامل کرنا چاہتا ہوں وہ کامل نہیں ہیں، اور وہ ہمیشہ کچھ کم یا زیادہ تعدد کے ذریعے آپ کو روک سکتے ہیں جو آپ کو مسدود کرنا چاہئے۔ تاہم ، وہ زیادہ تر ایپلی کیشنز کے ل their اپنا کام کافی اچھی طرح سے کرتے ہیں۔

اور آخر میں ، میں ایک اور بات بھی واضح کرنا چاہتا ہوں ، اور وہ یہ ہے کہ آپ نے یقینا surely اس کے بارے میں سنا ہے EMA اور DEMA فلٹرز. EMA (تیز رفتار اوسط) فلٹرز سرایت شدہ آلات میں اس طرح کے فلٹرز کو آسان طریقے سے نافذ کرنے کی اجازت دیتے ہیں۔ جب تک ڈیما (ڈبل ایکسپونینشنل موویننگ ایوریج) کی بات ہے ، ان کا ای ایم اے کے مقابلے میں تیز ردعمل ہے ، جس شور کو روکنے کے لئے آپ اچھ .ا چاہتے ہیں۔

الفا عنصر

El الفا عنصر، جو آپ دیکھیں گے کہ اگلے حصے میں آرڈینو آئ ڈی ای کوڈز میں ظاہر ہوتا ہے ، وہ پیرامیٹر ہے جو کفایت کرنے والے فلٹر کے طرز عمل کا تعین کرتا ہے۔ یہ کٹ آف تعدد سے متعلق ہے:

  • الفا = 1: جو نامکمل آؤٹ پٹ کو اشارہ فراہم کرتا ہے۔
  • الفا = 0: فلٹر کی قیمت ہمیشہ 0 رہے گی۔
  • الفا = ایکس: دیگر اقدار EMA فلٹر میں دیگر ردوبدل حاصل کرسکتی ہیں۔ اگر آپ الفا عنصر کو کم کرتے ہیں تو ، آپ زیادہ سے زیادہ حاصل کردہ تعدد سگنل کو نرم کردیں گے ، اور نظام کے ردعمل کا وقت بھی بڑھا دیا جاتا ہے (مستحکم ہونے میں زیادہ وقت لگتا ہے)۔

فلٹرز اور ارڈینو

ارڈینو I2C بس

ان فلٹرز کے استعمال کے ل A ، ارڈینو آئ ڈی ای کے لئے لائبریری کا استعمال آپ کے کام کو بہت آسان بنا دے گا۔ آپ استعمال کر سکتے ہیں اسی طرح.

آپ کو معلوم ہونا چاہئے کہ سرکٹ بنانا ضروری نہیں ہے ہائی پاس فلٹر یا کم پاس فلٹر تاکہ اسے اپنے اردوینو بورڈ سے جوڑیں اور اس کے ساتھ کام کریں۔ اگرچہ آپ اس طرح کے آسان فلٹر استعمال کر سکتے ہیں اور پیدا کرسکتے ہیں ، آپ یہ بھی جانچ سکتے ہیں کہ EMA صرف Ardino بورڈ اور Ardino 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 کی حدود میں تقسیم کریں۔ اگر قیمت 0v ہے تو ، 0 کی ڈیجیٹل قیمت لی جائے گی ، اور اگر یہ 5v ہے تو ، 1023 کو سگنل ویلیو کے طور پر لیا جائے گا ، 1v 204m ہوسکتا ہے ، 2v 408 وغیرہ ہوگا۔

میں آپ کو مشورہ دیتا ہوں کہ ان کوڈز میں ترمیم کریں اور اس کا تجربہ کریں۔ نتیجہ آپ کر سکتے ہیں بہت گرافیکل انداز میں دیکھیں ارڈینو آئی ڈی ای کے سیریل پلاٹر کا شکریہ… یاد رکھیں کہ اگر آپ کے پاس ارڈینو پروگرامنگ کے بارے میں سوالات ہیں یا IDE کو استعمال کرنے کا طریقہ ، آپ ڈاؤن لوڈ کرسکتے ہیں پی ڈی ایف میں مفت HwLibre کورس.


مضمون کا مواد ہمارے اصولوں پر کاربند ہے ادارتی اخلاقیات. غلطی کی اطلاع دینے کے لئے کلک کریں یہاں.

تبصرہ کرنے والا پہلا ہونا

اپنی رائے دیں

آپ کا ای میل ایڈریس شائع نہیں کیا جائے گا. ضرورت ہے شعبوں نشان لگا دیا گیا رہے ہیں کے ساتھ *

*

*

  1. اعداد و شمار کے لئے ذمہ دار: میگل اینگل گاتین
  2. ڈیٹا کا مقصد: اسپیم کنٹرول ، تبصرے کا انتظام۔
  3. قانون سازی: آپ کی رضامندی
  4. ڈیٹا کا مواصلت: اعداد و شمار کو تیسری پارٹی کو نہیں بتایا جائے گا سوائے قانونی ذمہ داری کے۔
  5. ڈیٹا اسٹوریج: اوکیسٹس نیٹ ورکس (EU) کے میزبان ڈیٹا بیس
  6. حقوق: کسی بھی وقت آپ اپنی معلومات کو محدود ، بازیافت اور حذف کرسکتے ہیں۔