Banner Image

All Services

Programming & Development Programming & Software

Codes for adjusting the amplitude in MLP

$5/hr Starting at $25

٪ تحديد إشارة الإدخال

ر = 0: 2 * بي / 100: 2 * بي ؛

أ = 10 ؛

x = A * sin (t) ؛


٪ رسم الإشارة الأصلية

قطعة أرض (x)

يتمسك


٪ استدعاء دالة تعديل دلتا التكيفية

ADMout = adeltamod (x، 1، 0.1،0.3) ؛

مؤامرة (ADMout) ؛

٪ عمل Advanced Delta Modulator مشابه للعمل العادي

٪ دلتا المغير. الفرق الوحيد هو أن خطوة السعة 

حجم٪ متغير ويستمر في التضاعف إذا كان الناتج / المخرجات السابقة

٪ لا يبدو أنهم "يلحقون" بإشارة الإدخال. هذه المشكلة

يشار إلى٪ باسم "المنحدر الزائد" في الكتب المدرسية.


الوظيفة [ADMout] = adeltamod (sig_in، Delta، td، ts)

نسبة الاستخدام

٪ ADMout = adeltamod (sig_in، Delta، fs) ؛

٪ دلتا - دقيقة. حجم الخطوة. سيتم مضاعفة هذا 2nX إذا لزم الأمر

٪ sig_in - إدخال الإشارة ، يجب أن يكون متجهًا

٪ td - فترة أخذ العينات الأصلية لإشارة الدخل ، sig_in

٪ ts - فترة أخذ العينات المطلوبة لإخراج ADM. لاحظ ذلك

يجب أن تكون النسبة المئوية من مضاعفات فترة إشارة الإدخال.

٪ إذا لم يكن كذلك ، فسيتم تقريبه إلى أقرب عدد صحيح.

٪ إخراج الوظيفة: ADMout



    إذا (الجولة (نهاية الخبر / الدفتيريا)> = 2)

        Nfac = جولة (ts / TD) ؛ ٪ أقرب عدد صحيح

        xsig = الاختزال (sig_in ، Nfac) ؛

        Lxsig = الطول (xsig) ؛

        Lsig_in = الطول (sig_in) ؛

        

        ADMout = أصفار (Lsig_in) ، ٪ تهيئة الإخراج

        

        cnt1 = 0 ؛ ٪ عدادات لا. من الزيادة السابقة على التوالي 

        cnt2 = 0 ؛ ٪خطوات

        المجموع = 0 ؛


        بالنسبة إلى i = 1: Lxsig

            

            إذا (xsig (i) == sum)


                ٪ لا تفعل شيئا

                

            elseif (xsig (i)> sum)


                إذا (cnt1 <2)

                    المجموع = المبلغ + دلتا ؛ ٪ تصعيد بواسطة دلتا ، كما هو الحال في DM

                elseif (cnt1 == 2)

                    المجموع = المبلغ + 2 * دلتا ؛ ٪ مضاعفة حجم الخطوة بعد

                                            أول زيادة بنسبة٪

                elseif (cnt1 == 3)

                    المجموع = sum + 4 * دلتا ؛ ٪ حجم الخطوة المزدوجة

                آخر

                    المجموع = مجموع + 8 * دلتا ؛ ٪ لا يزال يتضاعف ثم يتوقف

                                            ٪ مضاعفة عليه

                نهاية


                إذا (sum <xsig (i))

                    cnt1 = cnt1 + 1 ؛

                آخر

                    cnt1 = 0 ؛

                نهاية


            آخر


                إذا (cnt2 <2)

                    المجموع = مجموع - دلتا ؛

                elseif (cnt2 == 2)

                    المجموع = مجموع - 2 * دلتا ؛

                elseif (cnt2 == 3)

                    المجموع = المجموع - 4 * دلتا ؛

                آخر

                    المجموع = المجموع - 8 * دلتا ؛

                نهاية


                إذا (sum> xsig (i))

                    cnt2 = cnt2 + 1 ؛

                آخر

                    cnt2 = 0 ؛

                نهاية


            نهاية


            ADMout (((i-1) * Nfac + 1) :( i * Nfac)) = sum ؛

        نهاية

    نهاية

نهاية

About

$5/hr Ongoing

Download Resume

٪ تحديد إشارة الإدخال

ر = 0: 2 * بي / 100: 2 * بي ؛

أ = 10 ؛

x = A * sin (t) ؛


٪ رسم الإشارة الأصلية

قطعة أرض (x)

يتمسك


٪ استدعاء دالة تعديل دلتا التكيفية

ADMout = adeltamod (x، 1، 0.1،0.3) ؛

مؤامرة (ADMout) ؛

٪ عمل Advanced Delta Modulator مشابه للعمل العادي

٪ دلتا المغير. الفرق الوحيد هو أن خطوة السعة 

حجم٪ متغير ويستمر في التضاعف إذا كان الناتج / المخرجات السابقة

٪ لا يبدو أنهم "يلحقون" بإشارة الإدخال. هذه المشكلة

يشار إلى٪ باسم "المنحدر الزائد" في الكتب المدرسية.


الوظيفة [ADMout] = adeltamod (sig_in، Delta، td، ts)

نسبة الاستخدام

٪ ADMout = adeltamod (sig_in، Delta، fs) ؛

٪ دلتا - دقيقة. حجم الخطوة. سيتم مضاعفة هذا 2nX إذا لزم الأمر

٪ sig_in - إدخال الإشارة ، يجب أن يكون متجهًا

٪ td - فترة أخذ العينات الأصلية لإشارة الدخل ، sig_in

٪ ts - فترة أخذ العينات المطلوبة لإخراج ADM. لاحظ ذلك

يجب أن تكون النسبة المئوية من مضاعفات فترة إشارة الإدخال.

٪ إذا لم يكن كذلك ، فسيتم تقريبه إلى أقرب عدد صحيح.

٪ إخراج الوظيفة: ADMout



    إذا (الجولة (نهاية الخبر / الدفتيريا)> = 2)

        Nfac = جولة (ts / TD) ؛ ٪ أقرب عدد صحيح

        xsig = الاختزال (sig_in ، Nfac) ؛

        Lxsig = الطول (xsig) ؛

        Lsig_in = الطول (sig_in) ؛

        

        ADMout = أصفار (Lsig_in) ، ٪ تهيئة الإخراج

        

        cnt1 = 0 ؛ ٪ عدادات لا. من الزيادة السابقة على التوالي 

        cnt2 = 0 ؛ ٪خطوات

        المجموع = 0 ؛


        بالنسبة إلى i = 1: Lxsig

            

            إذا (xsig (i) == sum)


                ٪ لا تفعل شيئا

                

            elseif (xsig (i)> sum)


                إذا (cnt1 <2)

                    المجموع = المبلغ + دلتا ؛ ٪ تصعيد بواسطة دلتا ، كما هو الحال في DM

                elseif (cnt1 == 2)

                    المجموع = المبلغ + 2 * دلتا ؛ ٪ مضاعفة حجم الخطوة بعد

                                            أول زيادة بنسبة٪

                elseif (cnt1 == 3)

                    المجموع = sum + 4 * دلتا ؛ ٪ حجم الخطوة المزدوجة

                آخر

                    المجموع = مجموع + 8 * دلتا ؛ ٪ لا يزال يتضاعف ثم يتوقف

                                            ٪ مضاعفة عليه

                نهاية


                إذا (sum <xsig (i))

                    cnt1 = cnt1 + 1 ؛

                آخر

                    cnt1 = 0 ؛

                نهاية


            آخر


                إذا (cnt2 <2)

                    المجموع = مجموع - دلتا ؛

                elseif (cnt2 == 2)

                    المجموع = مجموع - 2 * دلتا ؛

                elseif (cnt2 == 3)

                    المجموع = المجموع - 4 * دلتا ؛

                آخر

                    المجموع = المجموع - 8 * دلتا ؛

                نهاية


                إذا (sum> xsig (i))

                    cnt2 = cnt2 + 1 ؛

                آخر

                    cnt2 = 0 ؛

                نهاية


            نهاية


            ADMout (((i-1) * Nfac + 1) :( i * Nfac)) = sum ؛

        نهاية

    نهاية

نهاية

Skills & Expertise

C#C++Embedded SystemsGeneral / Other Programming & SoftwareProgramming

0 Reviews

This Freelancer has not received any feedback.