Форум программистов, компьютерный форум, киберфорум
Matlab
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 05.06.2022
Сообщений: 3

А-закон компрессии

08.06.2022, 14:07. Показов 412. Ответов 3

Студворк — интернет-сервис помощи студентам
Суть проблемы: есть А-закон компрессии, также есть ню закон, с ним проблем не было, я его расписал и получилась хорошая компрессия динамического диапазона, а вот когда задаю А-закон, аудиофайл превращается в кашу, так как с амплитудой происходит непонятно что. Подскажите, может быть я просто не правильно в матлабе формулу задаю вот то, что мне получилось сделать. Соответственно, если не сложно, могли бы помочь расписать А-закон правильно на языке матлаба? Заранее огромное спасибо
Код:
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
%Текст программы, реализующей эффект компрессора:
 
%считываем исходный файл
[x,Fs]=audioread('1.wav');
 
N=size(x);
u=15;
A=87.6; 
 
for n=1:N
 if (abs(x(n,1))>=0) && (abs(x(n,1))<1/A)
    y(1,n)=sign(x(n,1))*A*abs(x(n,1))/(1+log(A));
 end
if (abs(x(n,1)) >=1/A ) && (abs(x(n,1))<= 1)
    y(1,n)=sign(x(n,1))*(1+log(A)*(A*abs(x(n,1))))/(1+log(A));
end
end
audiowrite('E:\MATLAB\kompress.wav',y, Fs);
 
%Графическое изображение исходного и результирующего сигналов во временной области
figure(1);
subplot(2,1,1);
plot(x),grid on;title('Isxodnuy signal');
 axis([0 500000 -1 1]);
 
figure(1);
subplot(2,1,2);
plot(y),grid on;title('Resyltiryushiy signal');
axis([0 500000 -1 1]);
Миниатюры
А-закон компрессии  
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.06.2022, 14:07
Ответы с готовыми решениями:

Способы компрессии
Помогите, пожалуйста, ответить на тест: Выберите отличительные черты способа компрессии - оптимизация по скорости: 1)большие...

Составить программу компрессии строк
КОМПРЕССИЯ СТРОК. Рассмотрим следующий алгоритм сжатия строк: если в строке встречается несколько одинаковых символов, идущих подряд, то...

Качество компрессии JPEG для фоток
Добрый день ツ В смартфоне на android 6 в камере можно выбрать параметр качества компрессии JPEG: 55%, 65%, 75%. При выборе максимума 75%...

3
1298 / 927 / 449
Регистрация: 21.10.2012
Сообщений: 2,604
08.06.2022, 15:54
joker_wot, а то, что вы на Xmax не делите - так и задумано?
0
0 / 0 / 0
Регистрация: 05.06.2022
Сообщений: 3
08.06.2022, 18:09  [ТС]
АлександрКом, да, abs(x)/Xmax - это по сути просто принятие максимального значения сигнала за точку отсчета самого сигнала, то есть любое значение сигнала, делим на его максимальное значение, по сути получаем сигнал, который будет удобной размерности. Не суть важна, можно просто от этой части оставить abs(x)
0
Модератор
 Аватар для Centurio
1765 / 1610 / 541
Регистрация: 13.09.2015
Сообщений: 5,629
08.06.2022, 18:46
Цитата Сообщение от joker_wot Посмотреть сообщение
Не суть важна, можно просто от этой части оставить abs(x)
Не скажите, тогда у вас значения X могут оказаться не в том диапазоне, какой указан в условии, по сравнению с X/Xmax
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
08.06.2022, 18:46
Помогаю со студенческими работами здесь

Артефакты при компрессии RGB->DXT5
Есть сборник алгоритмов компрессии из RGB в DXT1/DXT5. Тыц: http://http://www.cauldron.sk/files/extreme_dxt_compression.pdf Я беру...

Программно отличить тип компрессии аттача
Добрый день, уважаемые участники! Есть ли возможность программно отличить тип компрессии (LZ1 или Хаффман) файлового вложения в...

программа на С++ для компрессии/декомпрессии файлов
Посоветуйте пожалуйста литературу по этому вопросу,а также посоветуйте какие библиотеки использовать для компрессии,а какие для...

Создать программу компрессии/декомпрессии данных по методу RLE
Создать программу компрессии – декомпрессии данных по методу RLE. оооооооооочень надо, кто может помогите jk.o_o.mail.ru

Создать программу компрессии – декомпрессии данных по методу LZSS
народ есть ли у кого исходники


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
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-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru