Borland Delphi. Новости. . Блог программистов


Блог программистов






20105 Фев

Быстрое преобразование Фурье. Практика использования

Автор: Бадло Сергей Григорьевич aka raxp
http://raxp.radioliga.com

Рис. 1. «Преимущества софтовых вариантов очевидны лишь на малых частотах, либо при использовании аппаратно-программных реализаций»

Получение спектра в радиотехнике уже стало обыденным явлением. Появились как аппаратные высокоскоростные реализации, например от таких брендов как Tektronix, так и совмещенные варианты анализаторов на основе DSP процессоров или ПЛИС в промышленных или офисных компьютерах. Данным материалом мы начинаем цикл статей посвященных теме анализа спектра сигналов и их визуализации, для чего сегодня разработаем компонент, работающий с цифровым аудиопотоком, и освоим  методику Фурье-анализа применительно к распознаванию DTMF.

Краткий экскурс…

Спектроанализатор* — это прибор для наблюдения и измерения относительного распределения энергии электромагнитных колебаний в заданной полосе частот и бывает как параллельного или последовательного типа, так и совмещенным. По способу обработки — различают аналоговые и цифровые, а по характеру анализа — скалярные (получение частотно-амплитудных спектров) и векторные (фазо-частотных спектров).

* В 1822 году Фурье опубликовал работу «Аналитическая теория тепла», сыгравшую значительную роль в последующей истории математики. В этой работе он описал метод разделения переменных (преобразование Фурье), основанный на представлении функций тригонометрическими рядами (ряды Фурье). Фурье также сделал попытку доказать возможность разложения в тригонометрический ряд любой произвольной функции и, хоть его попытка оказалась неудачна, она фактически стала основой современной цифровой обработки сигналов. Как известно, звуковой сигнал является суперпозицией звуковых колебаний различных частот, то есть такой сигнал можно представить в виде «классического» спектра, описываемого f(?). Именно преобразование Фурье однозначно определяет соответствие между j(t) и f(?) и лежит в основе Фурье-спектроскопии / Лит.

Анализатор спектра позволяет определить амплитуду и частоту спектральных составляющих, входящих в состав анализируемого сигнала. Важнейшим его параметром – является разрешающая способность, т.е. наименьший интервал  по частоте между двумя гармониками, которые еще можно измерить.

(more…)

201010 Янв

Платформа Android. Краткое введение для разработчиков.

Данную мини-статью я бы хотел посвятить платформе Android. Меня уже давно интересовала эта система и недавно я стал обладателем замечательного коммуникатора HTC Hero, что позволило мне плотно заняться изучением этой платформы. В этом обзоре я постараюсь кратко изложить основы Android, надюсь статья будет полезна тем кто интересовался андроидом, но боялся спросить

(more…)

20104 Янв

Хуки в Windows. Часть третья. Оконные функции

Здравствуйте, программисты и им сочувствующие! После долгого перерыва представляю к вашему вниманию третью статью про механизм хуков в системах MS Windows. В первых двух статьях про хуки речь шла о клавиатурных хуках и хуках на события создания и уничтожения окон. В этой статье мы будем говорить про самое интересное: про хуки на оконные функции. Хуки на оконные функции являются самым мощным и гибким типом хуков, с их помощью можно сделать всё что угодно касающееся пользовательского интерфейса.
(more…)

20091 Ноя

Низкоуровневое сетевое программирование. Пишем клиент/серверное приложение на сокетах Беркли

Вступление.
Итак. Свою новую статью я бы хотял посвятить низкоуровневому сетевому программированию. Постараюсь наиболее полно и одновременно сжато изложить основные принципы сетевого программирования, а так же будет рассмотрен пример построение рабочего многопоточного сервера и клиента. Все примеры разрабатывались и комплировались на Unix-подобной операционной системе и все ниже сказанное будет справедливо для любой Unix. Но, т.к. описываемое является стандартом, — данным материалом смогут воспользоваться и программисты, работающие в среде Windows (я на рассматривал конкретно сетевое программирование в этой ОС, т.к. не использую её), изменения коснуться, разве что, заголовочных файлов.
Как было сказано выше — будет рассмотрено низкоуровневое сетевое программирование. Справедливости ради, следует сказать, что оно, на самом деле, не такое уж низкоуровневое, т.к. существуют гораздо более низкие уровни, но все это, как правило, прерогатива ядра ОС/драйверов/железа. Для облегчения работы с сетью, операционной системой предоставляются особые объекты — сокеты (в некоторых книгах их называют «гнезда»), представляющие собой разновидность программных интерфейсов. Они позволяют представить сетевой интерфейс как простое устройство ввода/вывода и работать с ним, почти как с обычным файлом (что истинно, ибо в Unix все устройства представлены как файлы). Для работы с сокетами используются API, разработанные в Калифорнийском университете в городе Беркли (для BSD Unix) в 1983 году. Эти API являются сегодня стандартном де-факто и поддерживаются практически всеми современными операционными системами. Данный программный интерфейс, так же называют сокетами Беркли. В основе сокетов лежат протоколы TCP/IP и UDP. Рассмотрение особенностей каждого из них выходит за пределы данной статьи. Скажу только самое главное: TCP — это протокол, обеспечивающий надежное соединение и гарантированную доставку пакетов. UDP — протокол без установления соединения и без каких либо гарантий доставки пакета. IP — протокол сетевого уровня, служит транспортом для протоколов TCP и UDP.
(more…)

200927 Авг

Графика окон и их программирование

В этой статье описывается создание нестандартных окон.
Для этого нам понадобится Delphi (желательно Delphi 7 или RAD Studio).
Все графические объекты созданы в Photoshop 11.

(more…)

200916 Авг

Работаем в сети с помощью libcurl

В этой статье я бы хотел осветить вопросы взаимодействия с Web и Ftp серверами в C++ программе.
Никто не запрещает программировать сокеты и самостоятельно реализовывать протоколы. Но зачем изобретать велосипед, когда существует готовое, отлаженное и мощное решение, способное удовлетворить практически любые Ваши потребности? Речь идет о библиотеке libcurl. Это простая в использовании, кроссплатформенная (поддерживаются Linux, Windows, Solaris, Qnx, FreeBSD, OpenBsd, MacOS X и многие другие) клиентская библиотека, позволяющая работать с протоколами FTP, FTPS, HTTP, HTTPS, SCP, SFTP, TFTP, TELNET, DICT, LDAP, LDAPS and FILE. Поддерживаются SSL сертефикаты, HTTP POST, HTTP PUT, FTP закачка, HTTP закачка, прокси-сервера, куки, аутентификация, восстановление закачки файла, тунелирование http proxy и многое другое. Libcurl имеет завязки на множество языков программирования, среди которых: C, C++, Java, Lisp, PHP, Ruby, Perl, Pascal, Haskell.
И самое главное — библиотека полностью свободна, как для некоммерческого, так и для коммерческого применения.

(more…)

200916 Авг

Работа с MySQL в С++ с использованием библиотеки mysql++

Под впечатлением от этой статьи я решил написать свой небольшой мануал по работе с СУБД MySQL, используя библиотеку mysql++. Данная библиотека представляет собой кроссплатформенное решение, написанное на С++, предоставляет богатый набор классов и позволяет эффективные приложения. Т.к. моей основной операционной системой является Linux — я буду рассматривать процесс создания приложения под Unix платформу. Под платформу Windows все будет практически точно так же, за исключением собственно подключения библиотеки, ее заголовочных файлов к IDE (MS Visual studio, Dev-c++).
Для создания приложения в среде Unix наличие IDE, как и собственно графической оболочки не необходимо, процесс написания и компиляции может проходить в голой консоли.

(more…)

200916 Авг

Кроссплатформенный анимированный осциллограф (GTK+, Cairo)

Я решил сделать кроссплатформенную версию  этого импровизированного осциллографа и полностью переписал программу на GTK+. Данная статья может быть полезна всем, кто только начал или собирается изучать этот тулкит. Параллельно в уроке рассматривается использование некоторых функций мощной библиотеки двухмерной графики Cairo.
В примере показана компиляция программы в Linux, пользователи Windows могу скомпилировать программу, например, с помощью MinGW, так же скомпилировать программу могут и пользователи Mac OS X. Вопросы компиляции на платформах, отличных от Linux выходят за рамки данной статьи и рассматриваться не будут. Те кто желает — всегда сможет разобраться самостоятельно, используя поиск.

(more…)

200927 Июн

Решение задач: как программе удалить саму себя или как изменить название исполняемого файла

1. Введение
В интернете просматривая форумы по программированию я наталкивался на вопросы связанные c вопросом «Как программу заставить удалить или переименовать себя во время исполнения». В этой статье описывается самый элементарный способ.
(more…)

200920 Май

DLL на Flat Assembler

В предыдущей статье я написал примеры сложения вычитания на FASM (Flat Assembler). В этой статье я напишу пример создания DLL на фасме. В длл запишем процедуру которая может складывать и вычитать числа. ДЛЛ напишем на фасме, а программу которая будет вызывать функцию из длл напишем на дельфи.
Эта статья для тех кто хотя-бы знает что такое DLL. Почитать можно здесь — http://ru.wikipedia.org/wiki/DLL
(more…)

← Предыдущая страницаСледующая страница →
Page 2 of 8«12345»...Last »

Облако меток

AdSense клиент компонент api ClientSocket библиотеки dll ServerSocket приложение INTERFACE шифровка байт char работа пароль учеба programmer процессор Application HANDLE Cursor C++ AssignFile хуки win api Project Internet google FASM memo исходники html функция язык System поиск GetLastError алгоритм программист programmersclub сервер форум exe сайт файл проект Assembler шифрование windows delphi