داخلی عمل
ڈیجیٹل اشاراتی تخط ⁇ (DSP) جدید میکانیات نظاموں کی پشت پناہی ہے، جو حقیقی وقتی آڈیو، ویڈیو، ٹیلی مواصلات اور مواصلاتی عمل کے ذریعے کام کے لیے کامی کارڈ کو براہ راست اثر انداز ہونے کے ساتھ ساتھ، توانائی کے استعمال کے لیے عام استعمال، ڈی ایس پی کے استعمال کے لیے استعمال کے دوران میں سخت وقتی طور پر استعمال کرنا پڑتا ہے. یہ طریقہ کار کو آسان طریقے سے استعمال کرنے اور CPCUC کے لیے مخصوص کردہ پروگرامنگ کے لیے استعمال کے لیے نہایت آسان طریقہ کاروں کو فراہم کرتا ہے۔
سی میں ڈیسیپی کی سمجھ حاصل کریں
ڈی ایس پی میں ریاضیاتی عمل جیسے فیلڈنگ، تبدیل، کنولوت اور اسپائیسیکل تجزیے کو مثالی اشاروں پر کنٹرول کیا جاتا ہے. سی سی میں پروگرامر ڈیٹا نمائندگی اور روانی کے ہر پہلو کو کنٹرول کرتا ہے، جو اکثر اوقات کنٹرولر کی طرف سے کنٹرول کرتا ہے اور ڈیجیٹل سگنل کے لیے متحرک ہوتا ہے۔
ڈی ایس پی کوڈ کی کلیدی خصوصیات:
- ریختہ (Repeed link) : ضرب شدہ عمل (مثلاً، FIR ری ایکٹر) کے ساتھ ساتھ ساتھ servesss بھی شامل ہیں۔
- ری ٹائم تنازعات : ہر نمونے کو نمونے کے دوران میں پروڈیوس کرنا چاہیے۔
- ] داتا ندینگ: مسلسل داخلی / آؤٹ نہروں میں مؤثر بُوَر اور کم نقل کی ضرورت ہوتی ہے۔
- میموری بینڈویڈتھ پابند : بہت سے ڈی ایس پی ایل ایل ایل ایل ایل ایل ایل ایل کے بہت سے بڑے بڑے بڑے بڑے ڈیٹا کو کس قدر تیزی سے منتقل کیا جا سکتا ہے، نہ کہ انفلیشن آپریشنز سے۔
ایک بنیاد پرست حوالہ کے لیے دیکھیے [Analog Districts' DSP بنیادیs۔
Fixed-Point Airithmetic: President with Freat-Point Overse stared –
بہت سے ڈی ایس پی کے فضلے ہارڈ ویئر کے تیرہ حصوں (FPU) کی کمی ہے یا پھر اس کے پاس FPUs. Fixed-plass integer actress کے ساتھ serative serder actress, and subjective power producation. [6] [6]] [6] [fLT]]] [L5] [FFFF5] اور اس میں 15PTPS] کی علامات ہیں۔
C میں Fixed-Point آپریشن
Fixed-plass اضافہ براہ راست ہے (بزبان جمع integers)، لیکن ضرب کے لیے ریڈس پوائنٹ کو دوبارہ شروع کرنا پڑتا ہے۔ Q15 ضرب کے لیے دو Q15 نمبر کی پیداوار 32 بٹ انٹرمیڈیٹ نتیجہ درکار ہے، پھر آپ 15 بٹوں سے دائیں جانب جائیں گے تاکہ Q15. مثال پر پہنچیں:
typedef int16_t q15_t;
q15_t q15_mul(q15_t a, q15_t b) {
int32_t temp = (int32_t)a * (int32_t)b;
return (q15_t)(temp >> 15);
}
جب انفنٹریس (مثلاً فیلڈرز)، محافظہ بکھری ہوئی برف کو روک دیتا ہے تو 32 بٹے یا 64 بٹے ہوئے ذرّات اور انتہائی خطرناک نتائج کا استعمال کریں۔ [ARM CMS-DSP] میں ایسے متحرک مقام فراہم کیے گئے ہیں جن میں ریختہ، تبدیل اور مریخی عمل شامل ہیں۔
جبکہ فیکسڈ-پوینٹ وس فیوینٹ-پوینٹ استعمال کرنے کے لیے
FPU کے ساتھ جدید رموز (مثلاً، Cortex-M4/M7) با لکل پوائنٹ آپریشن بطور جلد تیز رفتار رفتار سے کر سکتے ہیں۔
- الجبراً فعال فضاء (مثلاً مطابقتیاتی فیلڈز)۔
- کویت برقرار رکھنا ایک ترجیحی (غیر مصدقہ تجزیہ) ہے (اس کے بغیر).
- ایفپیاو ہارڈ ویئر موجود ہے اور پائپ لائن میں اضافہ اور اضافہ ہو سکتا ہے ۔
ہائی ووے آلات پر بغیر ایف پی یو کے، مقررہ نقطہ نظر سے اخراجات کے لیے معیار باقی رہتا ہے۔
ڈی ایس پی کیلئے میموریل رسائی
ڈی ایس پی ایل ایلمینٹ اکثر ڈیٹا سیوکنٹ کے بڑے بڑے مراحل کا عمل کرتی ہے. کیچ گمس اور بس کی سواریاں عمل میں لائی جا سکتی ہیں. ان اصولوں پر عمل کریں:
- Liner data رسائی: [1] کوانجائی ترتیب میں محیط دائرہ (row-major in C)۔ کسی بھی متحرک رسائی کے نمونے کو بغیر کسی الموت (مثلاً FFT-rversal) سے گریز کریں۔
- [Data settle: یقینی طور پر قطروں کو کیچ لائن تک لانے کے لیے یقینی طور پر استعمال کیا جاتا ہے. یا خاص میموریل سیکشن استعمال کریں.
- : CPU processing کے ساتھ دوہری بفرنگ کے ذریعے دوہری منتقلی کا استعمال۔ جب کہ CPU ایک بفر پر کام کرتا ہے تو اگلے نمونے بلاک کو لوڈ کیا جاتا ہے۔
- رجسٹرڈ کلیدی لفظ : [FLT]] کے استعمال سے اوپر والے نقادوں کو یہ خبر دینے کے لیے کہ نقادوں کو یہ پتہ چلتا ہے کہ وہ انتہائی ذہین، ذہین اور بہتر تربیتی صلاحیت رکھتے ہیں ۔
مثال کے طور پر، ایک سادہ ایف آئی ری فیلڈ تقریب کو 'ریسپورٹ‘ کے ساتھ لکھنا چاہیے جب انفنٹری اور آؤٹ بفر الگ ہو رہے ہیں:
void fir_lowpass(const int16_t * restrict x, int16_t * restrict y,
const int16_t * restrict coeffs, int len, int order) {
for (int i = 0; i < len; i++) {
int32_t acc = 0;
for (int j = 0; j < order; j++) {
acc += (int32_t)x[i + j] * coeffs[j];
}
y[i] = (int16_t)(acc >> 15);
}
}
اِس سلسلے میں ماہر الجبراً انتخاب اور اِس کی اصلاح
الجبراً پیچیدگی وقت اور طاقت کو ختم کرنے کے لیے براہ راست ترجمان۔ ہمیشہ اس کام کے لیے سب سے زیادہ مؤثر الجبرا منتخب کرتے ہیں:
- استعمال کریں کولی-Tuk Radix-2 یا دو انچ کے لیے تقسیم شدہ تقسیم۔
- FR ری ایکٹر: [1] Dissimation/interpolation کے لیے پولی فون کا استعمال؛ Liter-phase Pierters کے لیے استعمال کریں تاکہ ضربوں کی تعداد کو شمار کیا جا سکے۔
- IRIR ری ایکٹر: بہتر اعداد و شمار کے لیے براہ راست شکل دوم استعمال کریں؛ استعمال کرنے کے لیے استعمال کیا گیا vquad section (worder) حصص (coffecent cularation) کو کم کرنے کے لیے حساسات کو استعمال کریں۔
- Convoution: طویل ترتیب کے لیے، براہ راست کنولیشن کی بجائے FFFFFF-FF-FE-add یا محفوظ طریقہ کار استعمال کریں۔
[FFFFW لائبریری جدید ایف ٹی وی کی تکنیکوں کے حوالہ کے لیے [1] (C میں نہیں، اس کے اصولوں کو University DSP لائبریریز میں بہت نقل کیا گیا ہے۔
تربیتی ہارڈویئرس : ڈیسیایس اور ڈیسیپی ہدایات
تقریباً تمام جدید مائیکرو کنٹرولرز میں ایس ڈی (سیگل ہدایات کی ڈاٹا) یا DSP-enanced ہدایات شامل ہیں۔ مثال کے طور پر:
- ARM Cortex-M4/M7: PAD (SAD, SPUD, Executed actress), and general processive (QAD, QUB). CMS-DSPAGAGL کام انجام دے.
- TI C6000 DSP: آٹھ ضرب شدہ یونٹ، ڈبل بونڈ اور سافٹ ویئر پائپ لائن لائن. TI DSP Optimizing Guide تفصیلی تکنیک فراہم کرتا ہے۔
- MISC-V with P-extenss: مستقبل کے مرکزوں میں DSP کی طرح ہدایات ہوں گی۔
سی میں ان خصوصیات کا استعمال کرنے کے لیے کوڈ لکھیں کہ سلفر خود کار-ویر (مثلاً، سادہ سالمات بغیر کسی پلگ انجیس کے ساتھ) یا پھر ان کے استعمال میں آنے والے کیمیائی عمل۔ مثال کے طور پر آر ایم سی ایم ایس-ایس-سی پی کے لیے ایف آئی پی:
#include "arm_math.h"
arm_fir_instance_f32 S;
float32_t firState[128];
arm_fir_init_f32(&S, numTaps, coeffs, firState, blockSize);
arm_fir_f32(&S, input, output, blockSize);
ایسی لائبریریاں اسمبلی میں زیادہ سے زیادہ کارکردگی کے لئے ہاتھ سے بنائی جاتی ہیں. ہمیشہ پروڈیوس کرنے سے پہلے اور جنرک سی سے لائبریری کے کام میں تبدیلی کے بعد
لوپ اویپپیپیمنٹ تکنیک
چونکہ ڈی ایس پی Alphalssssss-reserve-reserves, spemilizations in the struction سطح پر بڑے بڑے بڑے ڈویژنوں ادا کرتے ہیں:
- لوپ غیررولنگ:] دستی طور پر یا انڈر پراگیماس (‘#پراگیما غیررول N‘) کے ساتھ ساتھ، کم کرنے اور تعلیمی سطح پر متوازنیت بڑھانے کے لیے.
- [Soffware nerline:] آرام دہندگان کو پرواز میں اس طرح سے لگا دیا جاتا ہے کہ کئی خطرناک طور پر پروازیں غیر منظم ہیں. کچھ انورٹر یہ کام خودبخود کرتے ہیں؛
- [RGLT:1] تبدیل کرنے والی شاخوں کو serns سے بدل کر (مثلاً، Min/max استعمال کرنے والا)، یا غیر لین دین کے لیے تختہ استعمال کیا جاتا ہے۔
- مقامی متغیرات : اکثر رجسٹر میں اکثر رسائی حاصل کرنے کے اعداد و شمار کو استعمال کرتے ہوئے یا 'ریگیسٹر' کی نشان دہی کرتے ہوئے.
- تقسیمات : مسلسل تقسیم ضرب سے تبدیل کرنا؛ دو توانائیوں کے لیے منتقلی۔
قسطنطنیہ اور اسکے بعد تختے
ڈی ایس پی کے عملے جیسے کہ ٹریبونومیٹر کی قدریں، کوفیکل اور طیف کے عناصر کو روم میں مسلسل رائج کرنا اور محفوظ کرنا چاہیے۔ غیر حقیقی وقت کے آغاز کے لیے آپ ان کو بار بار اور دوبارہ استعمال کر سکتے ہیں۔ مثال کے طور پر: ہر مرحلے کے لیے 1024 نقطہ FFFFFFF -
دیکھیے تختیاں (LUTs) کو بھی دیکھیں جیسے مربع جڑ ، اُس کے اندر اور لاگ کو ڈی ایس پی ( یعنی بولاے ) میں استعمال کِیا گیا ہے ۔
پریلنگ اور ٹورنگ
کوئی بھی ای میل بغیر مکمل نہیں ہوتا ان تکنیکوں کا استعمال کریں تاکہ بوتل کی نوک معلوم ہو:
- Cycle-reserfling: بورڈ سائیکل کے کرنٹ (مثلاً، DWT CYTTTT on Cortex-M) میں استعمال کرنے کے لیے استعمال کیا جاتا ہے۔
- ] اسٹیکل پرفیلنگ: ماڈل پروگرام کری (PC) کو دیکھنے کے لیے کہ کون سی پی یو وقت کو استعمال کرتا ہے۔
- ] ایموری پرفیلنگ:] کیچ کیوکی کی یاد میں (اگر دستیاب ہو) اور بس کی سہولتوں کی نگرانی کرنے کے لیے آلات استعمال کریں۔
- کومپلر کا رد عمل : [1] [] قابلِ عمل معلومات ('Fopt-info-vec-optimad' in GCC) یہ دیکھنے کے لیے کہ آیا انسائوں کو Victored کیا گیا ہے یا نہیں۔
اِس کی بجائے اِس میں بہت سی چیزیں شامل ہیں جن کی مدد سے اِن میں سے ایک کو دوسرے سے بہتر بنانے کی صلاحیت پیدا ہوتی ہے ۔
عملی سانچہ:ابتدائی ترتیب:1000ء کی دہائی یہ سب کو یکجا کر کے لایا جاتا ہے۔
سی میں مؤثر ڈی ایس پی کوڈ لکھنے کے لیے ایک طریقہ ہائے وضع کرنا ضروری ہے:
- درست اعداد نمائندگی منتخب کریں (ڈفانگ ونگ دایاں جانب کے وس چلا نے والے پوائنٹ)۔
- سیکینٹ رسائی اور انفنٹری کے لیے ڈیزائن ڈیٹا کی ترکیب۔
- کم پیچیدگیوں (FTT، Polyphase) کے ساتھ Alphabeth منتخب کریں۔
- دستیاب وقت میں جی ایس پی لائبریری استعمال کریں ۔
- غیر عاملین کی شاخوں کو کم کرکے اس کی شاخوں کو بھی کم کر دیتے ہیں ۔
- روم میں مسلسل مستقل.
- پرو فا ئل کو دوباره بنا کر
ان اصولوں کا اطلاق کرنے سے ، ترقی کرنے والے لوگ ہاتھ سے بچانے والی اسمبلی کے ذریعے سگنلنگ حاصل کر سکتے ہیں جبکہ سی کی بندرگاہ اور برقرار رکھنے کے دوران. نتیجہ قابل اعتماد، حقیقی وقتی ڈی ایس پی نظام ہے جو جدید میکانیات کی مصنوعات کے تقاضوں کو پورا کرتا ہے— سماعتی آلات سے 5G بیس اسٹیشن تک