|
7 / 7 / 0
Регистрация: 29.06.2018
Сообщений: 1,536
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
FIR and spectrum tools30.06.2018, 01:01. Показов 2227. Ответов 26
Метки нет (Все метки)
afrtohtcoefs -program for converting AFR coeffs to h(t) coeffs for FIR
Код
afrcoefs.txt
hcoefs1.txt
Program for converting h(t) coefficients of the FIR to AFR data Кликните здесь для просмотра всего текста
Implementation of the FIR Кликните здесь для просмотра всего текста
input.txt
0
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 30.06.2018, 01:01 | |
|
Ответы с готовыми решениями:
26
DSP FIR выбор функции КИХ фильтр (FIR) по Куприянову, Матюшкину. Как подружить мать p45c neo-fir с новой памятью? |
|
7 / 7 / 0
Регистрация: 29.06.2018
Сообщений: 1,536
|
|||||||||||||
| 30.06.2018, 01:03 [ТС] | |||||||||||||
|
Program for spectrum calculating, using CDFT,CIDFT, Mathlab's algorithm for Hilbert transform
You can use complex.h, vector.h for data arrays and pointered arrays for arrays. How to use radix more then 20000 in #define NMAX , how to fix memory mapping error in arrays if NMAX>20000...32768?
0
|
|||||||||||||
| 30.06.2018, 06:30 | |||||||
0
|
|||||||
|
7 / 7 / 0
Регистрация: 29.06.2018
Сообщений: 1,536
|
||||||
| 30.06.2018, 21:20 [ТС] | ||||||
|
Как использовать в Дельфи ( или FPC /Lazarus) статическте массивы переменных , уничтожаемые после команды деструктор класса фильтра? Нужно ли использовать внешний класс-хранитель с деструктором, как избежать "утечки" памяти? (В fir.cpp :
Нужно использовать статический тип переменных , как в С++, чтобы программа была модульной (чтобы создать массив классов FIR, требуемой архитектуры ), чтобы не выкладывать переменные на шару, а задавать внутри процедуры как статические (в Си++ смысле).
0
|
||||||
|
445 / 373 / 133
Регистрация: 09.09.2011
Сообщений: 1,344
|
|
| 06.07.2018, 02:07 | |
|
USERPC01, для вас какой язык родной?
можно статические как в с++, они будут в стеке хранится и уничтожаться при выходе из функции - утечек не будет, либо используй динамические массивы как тут написано: https://www.freepascal.org/doc... #QQ2-38-57
0
|
|
|
7 / 7 / 0
Регистрация: 29.06.2018
Сообщений: 1,536
|
||||||||||||||||
| 27.07.2018, 20:46 [ТС] | ||||||||||||||||
исправлено чтение из файлов и запись в файл
afr.pas
Как сделать аналог функции deconv в матлабе на Дельфи для перехода от полинома H(p) к частному P(p)/Q(p) ?
0
|
||||||||||||||||
|
7 / 7 / 0
Регистрация: 29.06.2018
Сообщений: 1,536
|
||||||
| 18.08.2018, 09:37 [ТС] | ||||||
|
Вариант с использование сетки StringGrid
unit1.pas
0
|
||||||
|
7 / 7 / 0
Регистрация: 29.06.2018
Сообщений: 1,536
|
|
| 18.08.2018, 09:43 [ТС] | |
|
Как сделать x[i]; y[i] статическими переменными ( PArrayOfReal , static как в Си++), создавать вместе с другим классом (Filter1: TFilter, Filter1.Init(jmax,h)
y:=Filter1.FIR(x1)), дописав другой модуль , деинициализировать (Filter1.Destroy) ?
0
|
|
|
445 / 373 / 133
Регистрация: 09.09.2011
Сообщений: 1,344
|
|
| 21.08.2018, 11:09 | |
|
USERPC01, вы пишете огромное кол-во сообщений на форуме, но очень сложно понять что вы спрашиваете. Какая-то проблема в формулировке своих мыслей и желаний у Вас.
Напишите что Вы хотите, а не "static как в C++", static может давать совершенно разные эффекты в зависимости где это ключевое слово указано... Возможно Вы хотите глобальные переменные, возможно переменные класса - как они объявляются написано в документации к компилятору free pascal. и что такое по Вашему "деинициализировать"??? инициализация - это присваивание начального значения переменной, Вы чего хотите? присвоить переменной случайное значение - это можно рассматривать как некое приведение ее в начальное, "не инициализированное" состояние.
0
|
|
|
7 / 7 / 0
Регистрация: 29.06.2018
Сообщений: 1,536
|
|
| 23.08.2018, 15:04 [ТС] | |
|
static массив здесь - висит в памяти процедуры, независимо от ее вызова, пока не вычисляется новый отсчет, учитывает предыдущее состояние фильтра, инициализируется для каждого класса фильтр( в массиве классов фильтров в дальнейшем ) после первого и последующих вычислений семплов, после удаления класса фильтр удаляется деструктором из памяти .
Добавлено через 1 минуту С переменными класса глючило, может, правильнее их объявлять ? Как правильнее?
0
|
|
|
445 / 373 / 133
Регистрация: 09.09.2011
Сообщений: 1,344
|
||
| 23.08.2018, 22:01 | ||
|
Переменные класса не связаны с конкретными экземплярами - объектами. Это натурально статические переменные, которые имеют время жизни от, практически, начала и до конца работы программы - никакими деструкторами не удаляются, но в деструкторе можем переменную класса обнулить и/или если переменная это ссылка на динамическую структуру, то освободить память.
Опять же понятие - "удаление класса" не применимо к паскалю. Есть класс, есть иго инстанс - объект, объект создается в куче, после вызова деструктора, объект уничтожается и память в куче освобождается. С классом и переменными класса в это время ничего не происходит. В зависимости от модификаторов доступа, переменные класса могут изменять, как методы объектов класса либо любой вообще код, если модификатор доступа public. Добавлено через 6 минут советую иногда заглядывать в документацию по языку и синтаксису: https://www.freepascal.org/doc... fsu24.html Добавлено через 8 минут опять же очень сложно понять что вы хотите:
0
|
||
|
7 / 7 / 0
Регистрация: 29.06.2018
Сообщений: 1,536
|
|||||||||||
| 24.08.2018, 09:19 [ТС] | |||||||||||
|
Вариант с классом : не хочет инициализироваться массив x,y,h :
mainform.pas
Файлі с брейкпоинтом в аттаче.
0
|
|||||||||||
|
7 / 7 / 0
Регистрация: 29.06.2018
Сообщений: 1,536
|
|||||||||||||||||||||
| 24.08.2018, 12:39 [ТС] | |||||||||||||||||||||
|
Пробовал в классе фильтра private с var и без , глючит. С какими директивами компилятора как правильнее на Лазарусе 1.8.4 FPC 3.0.4 win32/win64 ?
Добавлено через 5 минут В дальнейшем нужно, чтобы создавался массив фильтров,поэтому внутримодульно внеклассово выкладывать массив переменных не надо. А вот про класс -хранитель-записыватель-считыватель массивов вместо структуры-записи можно подумать. Как добавить
Добавлено через 2 часа 11 минут Отладка модулей в простой консольной программе(IIR -часть с ошибкой, использовать getFIRpartsample( x ) .getFIRpartsample и и способ объявления переменных, порядок фильтра исправлен, работает
Вариант с формой (IIR-часть не отлажена) mainform.pas
0
|
|||||||||||||||||||||
|
7 / 7 / 0
Регистрация: 29.06.2018
Сообщений: 1,536
|
|||||||||||
| 24.08.2018, 14:02 [ТС] | |||||||||||
|
Проект с IIR-фильтром работает, переименовываю методы и класс, адаптирую вызов , глючит конструктор , выходит в ассемблер . Папки в аттаче .
mainform.pas
firfilter.pas
0
|
|||||||||||
|
7 / 7 / 0
Регистрация: 29.06.2018
Сообщений: 1,536
|
|
| 24.08.2018, 14:07 [ТС] | |
|
Пробовал в главном модуле с {$M+ } {$X+ }, тоже глючит .
Добавлено через 1 минуту Как внести var fir_data : TFIRTempData ; внутри класса ? Среда глючит, не размещается класс в памяти. Может, версия компилятора? Добавлено через 55 секунд Добавил мемо окно до конструктора класса работает, дальше глючит .(Винда Win7 x64)
0
|
|
|
445 / 373 / 133
Регистрация: 09.09.2011
Сообщений: 1,344
|
||||||||||||||||||||||||||
| 24.08.2018, 14:11 | ||||||||||||||||||||||||||
|
Не по теме: судя по проскакивающей i в тексте, понятно что скорее всего с украины, так что ошибки в грамматики понятны - не будем к ним придираться, но ошибки изложения мысли... надо стараться излагать свои мысли понятным языком. Не спешить вываливать портянки кода. Подумать как сделать так что-бы стороннему человеку было понятно. что касается сообщения https://www.cyberforum.ru/post12857857.html достаточно привести вот этот фрагмент:
вызывать напрямую деструктор считается не очень хорошим стилем, вместо:
0
|
||||||||||||||||||||||||||
|
7 / 7 / 0
Регистрация: 29.06.2018
Сообщений: 1,536
|
||||||||||||||||
| 24.08.2018, 14:51 [ТС] | ||||||||||||||||
0
|
||||||||||||||||
|
7 / 7 / 0
Регистрация: 29.06.2018
Сообщений: 1,536
|
|
| 24.08.2018, 14:53 [ТС] | |
|
Проект в аттаче, запускаю -немного глючит
0
|
|
|
7 / 7 / 0
Регистрация: 29.06.2018
Сообщений: 1,536
|
||||||||||||||||
| 24.08.2018, 16:04 [ТС] | ||||||||||||||||
Добавлено через 10 минут Как правильнее записывать коэффициенты, чтобы они подходили из Матлаба
0
|
||||||||||||||||
|
7 / 7 / 0
Регистрация: 29.06.2018
Сообщений: 1,536
|
|
| 24.08.2018, 16:22 [ТС] | |
|
В книге Куприянов М.С., Матюшкин Б.Д. - Цифровая обработка Сигналов 1999, с. 331-333 альтернативное представление в отличие от ece2610_chap8.pdf альтернативное представление коэффициентов( более обычное, с минусом).
0
|
|
| 24.08.2018, 16:22 | |
|
Помогаю со студенческими работами здесь
20
Кассеты / ZX Spectrum bass spectrum Игры на ZX-Spectrum Эмулятор ZX Spectrum на STM32f4 Задача spread spectrum Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-rectangles-sdl3-c. zip
finish-rectangles-sdl3-cpp. zip
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|