| Автор | Съобщение |
|---|
gameelgamal
Присъединил се: 14 Декември 2006 Мнения: 87 Местоположение: Египет
| 28 април 2009 16:26 изчисли амплитуда на греха на сигнала? | | | Tags: изчисли амплитуда изчисли амплитуда амплитуда на сигнала амплитуда на греха сигнал амплитуда грях сигнал изчисли RMS стойност microcontroller |
|
| Здрасти
Как да се изчисли амплитуда на греха сигнал използвайки microcontroller?
Какво имам нужда е алгоритъм, който ще се реализира в microcontroller да изчисли амплитуда (или RMS стойност) на входния сигнал ...
отколкото ... |
|
| Обратно към началото | |
 |
FvM
Присъединил се: 22 Януари 2008 Мнения: 3964 Подпомогнат: 594 Местоположение: Бохум, Германия
| 29 април 2009 9:26 изчисли амплитуда на греха на сигнала? | | | Tags: означава намиране на сигнал |
|
| | RMS може да се изчисли, независим от waveform тип. root of mean of squared signal. Той е точно това, което е име: RMS корен означава на квадрат сигнал. Вие може да искате да се изчислява RMS на AC сигнал чрез изваждане на DC стойност (или средно), операцията е еквивалентно на намирането на стандартното отклонение на серия от проби. Вие ще намерите на определението в раздел Статистика на mathemical формули събиране. |
|
| Обратно към началото | |
 |
smxx
Присъединил се: 18 август 2005 Публикации: 189 Подпомогнат: 8 Местоположение: Иран (ahwaz)
| 29 април 2009 11:04 Re: изчисляване на амплитуда на греха на сигнала? | | | Tags: изчисли хня вълна vrms за греха изчисли хня вълна RMS грях |
|
| здрасти Аналогов Divece ® имат специални 8pin Ic за тази цел. И за напълно задължително вълна може да се изчисли това с две проби. V1: проба по време t1 v2: sampe в (t1 π / 2) V1 = VM греха (t1) V2 = VM греха (t1 π / 2) VM ² ² = V1 V2 ² Vrms = VM / √ 2 |
|
| Обратно към началото | |
 |
gameelgamal
Присъединил се: 14 Декември 2006 Мнения: 87 Местоположение: Египет
| 29 април 2009 13:07 Re: изчисляване на амплитуда на греха на сигнала? | | | Tags: изчисли хня вълна vrms за греха изчисли RMS стойност microcontroller изчисли хня вълна RMS в microcontroller RMS грях проба първия хня microcontroller |
|
| | smxx написа: | И за напълно задължително вълна може да се изчисли това с две проби. V1: проба по време t1 v2: sampe в (t1 π / 2) V1 = VM греха (t1) V2 = VM греха (t1 π / 2) VM ² ² = V1 V2 ² Vrms = VM / √ 2 | Добре ... Отивам да се приложи този алгоритъм, с помощта на microcontroller, но аз все още се намери някаква трудност. Така че моля, кажете ми, ако аз съм грешен
Първо, на случаен принцип точка на програмата, ще извършат аналогово към цифрово преобразуване процес, за да изчисли V1.
На второ място, след известно време (казвам 1 МС), ще изпълнява друга ADC да изчисли V2.
Сега вече може да изчисли V1, използвайки eqn: V1 = VM греха (t1) Но каква е стойността на (t1)?? Тя трябва да е равен нула, не е?
Също така това, което искаш да кажеш с (N / 2). Дали това забавянето време между двете реализации (1 MS в моя случай), или какво?
отколкото .... |
|
| Обратно към началото | |
 |
FvM
Присъединил се: 22 Януари 2008 Мнения: 3964 Подпомогнат: 594 Местоположение: Бохум, Германия
| 29 април 2009 21:35 изчисли амплитуда на греха на сигнала? | | |
|
| | N / 2, трябва да бъде равна на 1 / 4 периода на въвеждане на честота (90 ° фаза смяна), в противен случай от Ница алгоритъм не работи. Също така V1, V2, трябва да се DC-свободен. |
|
| Обратно към началото | |
 |
gameelgamal
Присъединил се: 14 Декември 2006 Мнения: 87 Местоположение: Египет
| 30 Април 2009 8:29 Re: изчисляване на амплитуда на греха на сигнала? | | |
|
| | FvM написа: | | N / 2, трябва да бъде равна на 1 / 4 периода на въвеждане на честота (90 ° фаза смяна), в противен случай от Ница алгоритъм не работи. Също така V1, V2, трябва да се DC-свободен. |
Така. при 50 Hz греха на вълната, N / 2 = 5 МС. Нали?
Какво искаш да кажеш с DC свободни? значи не DC компенсира добавя към нея?
отколкото .. |
|
| Обратно към началото | |
 |
shoaibali
Присъединил се: 28 юни 2007 Мнения: 38 Подпомогнат: 3
| 30 Април 2009 13:43 Re: изчисляване на амплитуда на греха на сигнала? | | | Tags: грях сигнал RMS на хня сигнал RMS в microcontroller RMS грях задължително да DC изчисление |
|
| Използвайте microcontrollers adc да вземе N (100 ще се оправи) проби от входа sginal за един цикъл на хня вълна и направете RMS изчисления за това. Вие ще трябва да пристрастия на синусоидално сигнала, ако adc ниско напрежение позоваването е 0 волта.
Например, за 50Hz синусоидално сигнал, 100 вземе проби всяка 20ms/100 = 200us Апарт Това може да бъде направено с помощта на таймер и adc в microcontroller
С уважение |
|
| Обратно към началото | |
 |
FvM
Присъединил се: 22 Януари 2008 Мнения: 3964 Подпомогнат: 594 Местоположение: Бохум, Германия
| 30 Април 2009 16:01 Re: изчисляване на амплитуда на греха на сигнала? | | | Tags: RMS грях |
|
| Както каза, може да се изчисли AC напрежение RMS, без да знаят DC компенсира преди (чрез използване на стандартно отклонение изчисляване метод): | Код: | | uRMS = √ (1 / N * Σu ² - (1 / N * Σu) ²) |
|
|
| Обратно към началото | |
 |
gameelgamal
Присъединил се: 14 Декември 2006 Мнения: 87 Местоположение: Египет
| 01 май 2009 13:25 Re: изчисляване на амплитуда на греха на сигнала? | | | Tags: грях сигнал RMS на хня сигнал RMS в microcontroller RMS грях задължително да DC изчисление |
|
| | shoaibali написа: | Използвайте microcontrollers adc да вземе N (100 ще се оправи) проби от входа sginal за един цикъл на хня вълна и направете RMS изчисления за това. Вие ще трябва да пристрастия на синусоидално сигнала, ако adc ниско напрежение позоваването е 0 волта.
Например, за 50Hz синусоидално сигнал, 100 вземе проби всяка 20ms/100 = 200us Апарт Това може да бъде направено с помощта на таймер и adc в microcontroller
С уважение |
Ако 100-пробите да са в този цикъл, или той може да бъде tooken над повече от един цикъл |
|
| Обратно към началото | |
 |
trekkytekky
Присъединил се: 04 април 2009 Мнения: 60 Подпомогнат: 5 Местоположение: Пърт
| 02 май 2009 13:41 Re: изчисляване на амплитуда на греха на сигнала? | | | Tags: амплитуда на сигнала амплитуда на греха сигнал амплитуда сигнал грях грях амплитуда на амплитуда на греха амплитуда на сигнала |
|
| Ако знам, че винаги ще има синусоидална сигнал, след което можете също да имат възможност за прилагане връх детектор за максимум и минимум, ще бъдат амплитуда (макс-мин) / 2 и се умножи с константа 1 / √ 2 за RMS
а именно: Амплитуда = (макс-мин) / 2 RMS = амплитуда / √ 2
Просто друга опция. |
|
| Обратно към началото | |
 |
shoaibali
Присъединил се: 28 юни 2007 Мнения: 38 Подпомогнат: 3
| 05 май 2009 15:04 Re: изчисляване на амплитуда на греха на сигнала? | | | Tags: грях сигнал RMS на хня сигнал RMS в microcontroller RMS грях задължително да DC изчисление |
|
| | gameelgamal написа: | | shoaibali написа: | Използвайте microcontrollers adc да вземе N (100 ще се оправи) проби от входа sginal за един цикъл на хня вълна и направете RMS изчисления за това. Вие ще трябва да пристрастия на синусоидално сигнала, ако adc ниско напрежение позоваването е 0 волта.
Например, за 50Hz синусоидално сигнал, 100 вземе проби всяка 20ms/100 = 200us Апарт Това може да бъде направено с помощта на таймер и adc в microcontroller
С уважение |
Ако 100-пробите да са в този цикъл, или той може да бъде tooken над повече от един цикъл |
Пробите трябва да бъдат в един цикъл, като ще се правят изчисления над един цикъл |
|
| Обратно към началото | |
 |
Джак / / Ани
Присъединил се: 02 Декември 2004 Публикации: 466 Подпомогнат: 23
| 05 май 2009 18:08 Re: изчисляване на амплитуда на греха на сигнала? | | | Tags: adc часовник adc_clock_internal |
|
| Написах малко код за УСВ PIC, нищо въображаемо стандартно отклонение с 30 проби по време на работа, както обсъдени от FvM.
Да се изчерпи 16F877A, така че не може да изгори и тествани него. Всякакви коментари, грешки, подобрения са винаги оценявам ...
| Код: | # включват <16F877A.h> # устройство ADC = 10 # включват <math.h> # предпазители XT, NOWDT, NOPROTECT, NOLVP, NOBROWNOUT # използване забавяне (часовник = 4000000) # използване RS232 (baud = 9600, xmit = PIN_C6, rcv = PIN_C7)
недействителни главната () (
int16 стойност проби [29]; / / стойност е 10bit данни проба INT I; плувка волта; setup_port_a (ALL_ANALOG); / / Всички 8 канала са аналогови setup_adc (ADC_CLOCK_INTERNAL); / / Вътрешен ADC Часовник set_adc_channel (0); / / RA0/AN0 (ПИН2) е аналогов вход канал
докато (1) ( за (I = 0; I <= 29; I ) ( проби [I] = read_adc (); delay_us (666); )
за (I = 0; I <= 29; I ) ( проби [I] = проби [I] * проби [I]; / / Sqaure стойност = проби [I] стойност; / / общата сума )
стойност = value/30; / / Средни от 30 проби стойност = sqrt (стойност); / / кв корен
волта = (запас) стойност * 0,0048828125; / / 1024 дискретни нива, 5 / 1024 = 0,0048828125 printf ( "Напрежение е:% 3.3f \ N", волта); / / за печат до 3 знака след десетичната запетая delay_ms (500); ) )
|
|
|
| Обратно към началото | |
 |
shoaibali
Присъединил се: 28 юни 2007 Мнения: 38 Подпомогнат: 3
| 06 май 2009 12:12 Re: изчисляване на амплитуда на греха на сигнала? | | | Tags: adc часовник adc_clock_internal |
|
| | Джак / / Ани написа: | Написах малко код за УСВ PIC, нищо въображаемо стандартно отклонение с 30 проби по време на работа, както обсъдени от FvM.
Да се изчерпи 16F877A, така че не може да изгори и тествани него. Всякакви коментари, грешки, подобрения са винаги оценявам ...
# включват <16F877A.h> # устройство ADC = 10 # включват <math.h> # предпазители XT, NOWDT, NOPROTECT, NOLVP, NOBROWNOUT # използване забавяне (часовник = 4000000) # използване RS232 (baud = 9600, xmit = PIN_C6, rcv = PIN_C7)
недействителни главната () (
int16 стойност проби [29]; / / стойност е 10bit данни проба INT I; плувка волта; setup_port_a (ALL_ANALOG); / / Всички 8 канала са аналогови setup_adc (ADC_CLOCK_INTERNAL); / / Вътрешен ADC Часовник set_adc_channel (0); / / RA0/AN0 (ПИН2) е аналогов вход канал
докато (1) ( за (I = 0; I <= 29; I ) ( проби [I] = read_adc (); delay_us (666); )
/ / SQUARE на проби за (I = 0; I <= 29; I ) ( проби [I] = проби [I] * проби [I]; / / Sqaure стойност = проби [I] стойност; / / общата сума )
стойност = value/30; / / Средни от 30 проби стойност = sqrt (стойност); / / кв корен
волта = (запас) стойност * 0,0048828125; / / 1024 дискретни нива, 5 / 1024 = 0,0048828125 printf ( "Напрежение е:% 3.3f \ N", волта); / / за печат до 3 знака след десетичната запетая delay_ms (500); ) )
|
Бих искал да добавя някои неща 1 - Предлагам инициализиране "vaue" променлива до 0 2 - Да следната да се отървете от DC ниво в сигнал (например, ако сигналът е бил предубедени) А. DC_Average = sumOfSample / NoOfSamples Б. За всяка проба проби [I] = PositiveValueOf (проби [I] - DC_Average) в. Направете почивка, както в / / SQUARE на проби
С уважение |
|
| Обратно към началото | |
 |
Джак / / Ани
Присъединил се: 02 Декември 2004 Публикации: 466 Подпомогнат: 23
| 06 май 2009 15:11 изчисли амплитуда на греха на сигнала? | | |
|
| Здравей shoaibali, Да стойност = 0 трябва да бъде initialized да се избегнат всякакви боклуци предходната стойност.
Що се отнася DC_Average, не му е необходимо, като ще бъдат взети проби за пълен цикъл, така DC Средно ще бъде нула. |
|
| Обратно към началото | |
 |
shoaibali
Присъединил се: 28 юни 2007 Мнения: 38 Подпомогнат: 3
| 06 май 2009 18:16 Re: изчисляване на амплитуда на греха на сигнала? | | |
|
| | Джак / / Ани написа: | Здравей shoaibali, Да стойност = 0 трябва да бъде initialized да се избегнат всякакви боклуци предходната стойност.
Що се отнася DC_Average, не му е необходимо, като ще бъдат взети проби за пълен цикъл, така DC Средно ще бъде нула. |
Здравей Джак Бях сочещи към DC_Average в случай на сигнала е предубедени към DC ниво, което най-likey то ще бъде, ако той ще се вземат проби от mcu с позитивни единствено |
|
| Обратно към началото | |
 |
smxx
Присъединил се: 18 август 2005 Публикации: 189 Подпомогнат: 8 Местоположение: Иран (ahwaz)
| 12 май 2009 5:57 изчисли амплитуда на греха на сигнала? | | |
|
| HI gameelgamal π / 2 екв. 90 DEG време смяна. Π е Pi коефициент (3,14) Искам да кажа вие nead два часа извадка с 90deg смяна време. [/ IMG]
|
|
| Обратно към началото | |
 |
FvM
Присъединил се: 22 Януари 2008 Мнения: 3964 Подпомогнат: 594 Местоположение: Бохум, Германия
| 12 май 2009 7:21 Re: изчисляване на амплитуда на греха на сигнала? | | | Tags: грях сигнал |
|
| За съжаление, на диаграмата (който може да се е предполагал, показващи задължително waveform) има фаза на смени в близост до пи, а не пи / 2. Следва да бъде отбелязано, че двете проби метода, можете да се отнасят, се основава на три prerequisitions: 1. В waveform е задължително (както личи от вашата диаграма, това не е очевидно) 2. Пробите са eaxctly PI / 2 съответно 90 ° фаза промяна (вж. по-горе) 3. Измерените сигнал е DC-свободен. Горната дискусия е най-вече за измервания с DC офсет. |
|
| Обратно към началото | |
 |
smxx
Присъединил се: 18 август 2005 Публикации: 189 Подпомогнат: 8 Местоположение: Иран (ahwaz)
| 12 май 2009 10:21 Re: изчисляване на амплитуда на греха на сигнала? | | |
|
| Благодаря ви FvM в моя пост съм 1-ви уведомява напълно греха на вълната в последния си пост съм грешка, като се показват Π / 2 от греха вълната само. за греха на вълната с DC компенсира можем да използваме по-долу, както е с 3 проба (за напълно греши вълната с DC компенсира). за шумни грях вълна имаме нужда от повече проба за цифрово филтриране. Бъдете щастливи и не се притеснявайте.
Последно редактирано от smxx на 12 май 2009 10:24; редактирано 1 път общо |
|
| Обратно към началото | |
 |
smxx
Присъединил се: 18 август 2005 Публикации: 189 Подпомогнат: 8 Местоположение: Иран (ahwaz)
| 13 май 2009 6:25 Re: изчисляване на амплитуда на греха на сигнала? | | |
|
| и с Фурие трансформация имаме всички фактори, но е необходимо повече проби
|
|
| Обратно към началото | |
 |
awaili
Присъединил се: 18 април 2009 Мнения: 5
| 15 май 2009 20:39 Re: изчисляване на амплитуда на греха на сигнала? | | | Tags: грях амплитуда амплитуда сигнал сигнал амплитуда грях сигнал изчисли амплитуда амплитуда на греха сигнал амплитуда |
|
| Съжалявам, но аз Търся matlab код, който може да се използва за изчисляване на амплитуда и честотата на греха сигнала ... Ако някой има някаква идея за това код, който да ми помогне да напише този код ..... PLZ
благодарности |
|
| Обратно към началото | |
 |
Джак / / Ани
Присъединил се: 02 Декември 2004 Публикации: 466 Подпомогнат: 23
| 15 май 2009 22:08 Re: изчисляване на амплитуда на греха на сигнала? | | | Tags: грях амплитуда амплитуда сигнал сигнал амплитуда грях сигнал изчисли амплитуда амплитуда на греха изчисляване на амплитуда |
|
| | awaili написа: | Съжалявам, но аз Търся matlab код, който може да се използва за изчисляване на амплитуда и честотата на греха сигнала ... Ако някой има някаква идея за това код, който да ми помогне да напише този код ..... PLZ
благодарности |
Иди, че всички по-горе мнения, неговото провеждане достатъчно информация, за да направят тези изчисления. Вие сте да направите вашата домашна работа все пак ... |
|
| Обратно към началото | |
 |