Вычисление шума квантования сигнала в АЦП, C++ |
1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
Вычисление шума квантования сигнала в АЦП, C++ |
Account |
4.01.2012 16:31
Сообщение
#1
|
Бывалый Группа: Пользователи Сообщений: 212 Пол: Мужской Репутация: 0 |
Задача следующая:
Есть сигнал, в моем случае представленный в виде функции sin(x), так как она периодическая, то берем интервал 0 до 2*Pi. Разрядность АЦП задается по пользователем. Написал вот такую программку, результат сохраняется в файл. Работает следующим образом. Запрашивается разрядность, потом тупо вычисляется на каждом шаге sin(x), результат дискреизированной функции (это вычисление дала преподаватель, вот в нем бы и хотелось убрать изврат по выделению целой части(Указал в коде), пробовал trunc, но такой функции не оказалось, тут так же возникает вопрос почему, в справочнике Шилда она указана). И последнее вычисляется шум, что есть разность между второй и первой функции соответственно выше указанных. ОС: WinXP IDE: TurboC++ 3.0 #include <stdio.h> Сообщение отредактировано: Account - 4.01.2012 16:36 |
Krjuger |
4.01.2012 22:37
Сообщение
#2
|
Профи Группа: Пользователи Сообщений: 652 Пол: Мужской Реальное имя: Алексей Репутация: 20 |
Ты более детально опиши,в чем проблема,просто я не понял,обычно вообще все это нужно для передачи сигнала и его коррекции, поэтому сути задачи я понять вообще не могу.Если бы у тебя был сигнал в него добавлялся шум и надо востановить сигнал,то понятно,это наиболее приближенное к реальным условиям.
Цитата И последнее вычисляется шум, что есть разность между второй и первой функции соответственно выше указанных. Неверно, при самой дескретизации возникает разность исходного и результирующего сигнала.Он совпадает только в заданных точках.Шум же влияет на уже дискретизированные результаты при непоследственной передаче сигнала.Если ты по дескритизированным результатам с шумом попробуеш восстановить исходный сигнал,то не проведя правильные манипуляции можеш получить неверный результат. Лан это небольшое лирическое отступление.А если по теме,то почему ты не хочеш написать свою функцию,которая будет делать манипуляции Trunc, исходников навалом. |
IUnknown |
5.01.2012 1:11
Сообщение
#3
|
a.k.a. volvo877 Группа: Пользователи Сообщений: 1 013 Пол: Мужской Репутация: 627 |
Цитата пробовал trunc, но такой функции не оказалось, тут так же возникает вопрос почему, в справочнике Шилда она указана Потому что эта функция была введена только в стандарт С99, твой компилятор про него слыхом не слыхивал.Цитата Как убрать такой изврат, нужно из результата именно целая часть Никакой это не изврат, тут как раз и происходит то, что тебе нужно: отбрасывание дробной части. Хочешь убрать - используй более современный компилятор. |
Account |
5.01.2012 1:30
Сообщение
#4
|
Бывалый Группа: Пользователи Сообщений: 212 Пол: Мужской Репутация: 0 |
Потому что эта функция была введена только в стандарт С99, твой компилятор про него слыхом не слыхивал.Никакой это не изврат, тут как раз и происходит то, что тебе нужно: отбрасывание дробной части. Хочешь убрать - используй более современный компилятор. По поводу изврата я погорячился. А про стандарт я что то не подумал, как обычно туплю. Очередное спасибо за просвещение.Лан это небольшое лирическое отступление.А если по теме,то почему ты не хочеш написать свою функцию,которая будет делать манипуляции Trunc, исходников навалом. Не сочтите за грубость, но думаю что не стоит придумывать велосипед заново. И подробнее по заданию. Есть домашнее задание "Исследование шумов квантования АЦП". Теория найдена. Есть практическое задание, по нахождению шума, делается в матлабе, но изучать его нет времени, но можно так же сделать самому, например написать программу. Позже на сессии покажут как вычислить в матлабе и сравнить результаты. Теория взята из книги И.С. Гоноровский "Радиотехнические цепи и сигналы". Прикрепляю к посту 2 страницы из книги из которых если переложить на мой пример видно что: s(t)=sin(x) s вых(t)=int(s(t)*2^R) /(2^R) - так мне показала преподаватель (Если не ошибаюсь по памяти, квантование сигнала) И уже шум q(t) = s вых(t)-s(t) Вот что я и вычисляю в программе. Сообщение отредактировано: Account - 5.01.2012 1:32 Прикрепленные файлы 1.bmp ( 886.5 килобайт ) Кол-во скачиваний: 196 2.bmp ( 920.78 килобайт ) Кол-во скачиваний: 195 |
Krjuger |
6.01.2012 15:02
Сообщение
#5
|
Профи Группа: Пользователи Сообщений: 652 Пол: Мужской Реальное имя: Алексей Репутация: 20 |
Цитата Не сочтите за грубость, но думаю что не стоит придумывать велосипед заново. Да не, никакой грубости,но тогда актуален предыдущий пост. Цитата Хочешь убрать - используй более современный компилятор. Ну а по остальному тогда никаких вопросов нет, вроде все правильно. |
Текстовая версия | 5.06.2024 9:17 |