Перейти к содержанию
    

Sneg_87

Участник
  • Постов

    41
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о Sneg_87

  • Звание
    Участник
    Участник
  • День рождения 07.05.1987

Контакты

  • Сайт
    Array
  • ICQ
    Array
  1. Ситуация такая получается, что в Borlande dos'овском вывод значений списка начинается с начала, хоть его и нет. То есть указатель на сортированный список это поидее порвый элемент списка. Ну а Bilder'e мне выходит последний элемент списка, а откат на первое значение получается никак нельзя сделать >_<
  2. Спасибо, AHTOXA, за ответы! Меня интересует еще такой вопрос: создается список указателей на структуру (Rnew = new TMyRect). как вернуться к указателю на первый элемент,когда нет указателя на начало?
  3. Структура TMyRect хратит координаты прямоугольников и их площади. Указатель на структуру представляется в виде связного списка. В *R0 записываются координаты прямоугольников прочитанных из файла. *X0 по размеру одинаков с *R0, но пустой - в него и нужно записать отсортированный список *R0. Сколько не пытался - ну никак не получается. Отсортировать нужно по параметру S(площадь). struct TMyRect { int x1,y1,x2,y2; int S; TMyRect *point; //point=next }; TMyRect *R0 = NULL, *Rnew, *Rold, *tmp;//несортированный список TMyRect *X0 = NULL, *Xnew, *Xold;//сортированный список void sortirovka () { //сортировка Rnew=R0; Xnew=X0; while (Rnew!=NULL) { for (Xnew=X0;Xnew->point!=0;Xnew=Xnew->point) { if (Rnew->point->S > Rnew->S) break; } Rnew->point=Xnew->point; Xnew->point=Rnew; Rnew=Rnew->point; } //конец сортировки }
  4. частота измеряется как среднее по длительности нескольких периодов сигнала Амплитуда (значения оцифрованных данных с датчика) используются для определения среднего значения или постоянной составляющей, потому что она не равна 0. Принцип измерения частоты подобен компаратору: при значении с АЦП выше среднего МК начинает считать длительность импульса Для генератора среднее значение не меняется, как и длительность. Для данных с датчкиа меняется и то, и другое.
  5. Из книг я узнал, что есть дискретный метод (или средних значений),собственно который реализовал на МК, и при неизменной/малоизменной длительности он точно измеряет частоту сигнала. Сигнал с генератора идет на АЦП практический идеальный, но когда я тот же алгоритм применяю для реального сигнала с датчика он показывает плохие результаты. Дело в том, что сигнал с датчика меняется как по амплитуде, так и по длительности. В результате чего частот просто "плывет" и неточна. Уважаемые формурчане, подскажите методы//алгоритмы по измерению частоты при таких сигналах. Заранее спасибо!
  6. Преобразователь первичный 17МО.082.021ТУ Чертежный код: ПрП-1М
  7. не люблю разводить темы насчет демогогии выбора. каждый выбирает то, что хочет. ЗЫ автору предложено 2 способа, думаю сам выберет, что подходит.
  8. немного покопавшись в интеренете, нашел: http://www.chipnews.ru/html.cgi/arhiv/03_05/5.htm пример поясняет, что будет при недостатке N-количества отсчетов в БПФ. Видимо для частоты в 44100 Гц, потребуется 440 тыс. отсчетов? Появились другие вопры по БПФ: 1) скажем возьмем 1024 отсчета, период сигнала 10 отсчетов, количество периодов можно сосчитать в уме. в реальных системах частота сигнала не статична - меняется в зависимости от внешних условий. На генераторе выставили 16Гц, пока она дошла по "проводам" изменилась в предалах +/- 1 Гц. Чего со спектром будет? второй вопрос 2) о спектре сигнала говорят после прохождения всего цикла БПФ, или шести-десяти полных периодов сигнала? 3) при Fd=50кГц БПФ применимо для частот от 0-25кГц. На АЦП при такой частоте дискретизации за 1с приходит 50к значений сигнала. Сколько необходимо Nотсчетов в БПФ при частоте сигнала 10Гц и частоте 5кГц?
  9. Чем плох вариант без подключения внешних библиотек? Единственным пожалуй минусом является время, что думаю не критично для ситуации. Ну а вторымб что он не пойдет, сейчас исправим :) Вот работающий на 100% (сам проверял) листинг программки, выдающий требуемый результат: #include "stdio.h" #include "conio.h" #include <iostream.h> main () { clrscr(); float a=6.9; int b=0; a=a*10; b=a; b=((int)(b+b%10))/10; printf ("%i",буква "b" не вводилась на форуме); getch(); }
  10. Если я правильно Вас понял, то 1) при частоте сигнала 21,53 Гц в БПФ будет составляющая сигнала, но на частоте 13,77 и 31,29 коэффициенты БПФ или спектр будут равны 0. 2) Если частота сигнала 13Гц составляющая будет "размазана" среди близлежащий отсчетов 10,77 21,53 или на близлежайщих отсчетах частот возле нее.
  11. Диапазон используемых частот от 0,1 до 6,5кГц. Справится ли БИХ фильтры на основе all-pass с тем, что сигнал помимо несущей частоты может иметь побочные, которые не несут информацию и подлежат отфильтровке? несущая частота 1кГц, также есть НЧ составляющая на частоте 10Гц и 200Гц которые подлежат отфильтровке. Предназанчение гетеродина, насколько я помню, из дисциплины по приемникам состоит в перемещении по частоте сигнала, чтоб убрать его боковые составляющие. Думаю без перемещения по частоте можно обойтись, тк не вижу целесообразности по частоте перетаскивать.
  12. предлагаю такой вариант: long a=5.6; //перед преобразованием умножать на 10, чтоб был остаток от деления в дальнейшем a=a*10; //теперь а=56 a=((int)(a+a%10))/10; //поясню (int) (56+6) и деленое на 10 будет 6, что и необходимо для отрицательного числа тоже пойдет ЗЫ при проверке в досовском Borland: задавал а=5.1 далее умножал на 10 и получал а=50.999. кто может объяснить в чем дело?
  13. Можно ли такое сделать: известна (априори) частота сигнала и необходимо отфильтровывать все частоты не входящие в интервал [fs-5Гц,fs+5Гц]. То есть с изменением частоты сигнала и менялись ли под него вот эти интервалы фильтра.
  14. "Частота дискретизации сигнала равна 44100 Гц. Размер БПФ равен 4096. Продолжительность сигнала из 4096 точек при данной частоте дискретиза-ции составляет 0.0929 секунды. Период первой синусоиды равен 4096 точкам, что по времени состав-ляет примерно 0.0929 секунды. Значит, частота первой синусоиды будет 10.77 Гц. Частота второй будет 21.53 Гц. И так далее." а если частота сигнала, ну скажем, равна 15Гц, то как это отразится на преобразовании Фурье? разрешения по частоте не хватит для выявления этой частоты или же составляющая на этой частоте преобразованием будет определена. Помогите решить данный вопрос :)
×
×
  • Создать...