码迷,mamicode.com
首页 > 其他好文 > 详细

matlab谐波生成方法

时间:2020-07-17 19:25:00      阅读:76      评论:0      收藏:0      [点我收藏+]

标签:devices   公式   nal   device   lin   end   alt   cti   wave   

谐波的具体生成方法参看论文
Harmonic and Intermodulation Analysis of Nonlinear Devices Used in Virtual Bass Systems
具体的matlab代码为
function Ha = calculate_harmonics()
[d , sr] = wavread(‘110hz.wav‘);
% full-wave rectifier NLD transfer function , y = |x|
y = abs(d);
% 论文中的公式
y_poly = 1.307 * d.^6 - 2.6593 * d.^4 + 2.2781 * d.^2 + 0.0838;
% soft clipping y = x/(K|x|+1),K=1
K = 1;
y_soft = d./(K
abs(d)+1);
function my_plot(data)
N = length(data);
xdft = fft(data);
xdft = xdft(1:N/2+1);
freq = 0:sr/N:sr/2;
plot(freq, (2/N)*abs(xdft))
end
subplot(411)
my_plot(d)
subplot(412)
my_plot(y)
subplot(413)
my_plot(y_poly)
subplot(414)
my_plot(y_soft)
end
测试结果为
技术图片

matlab谐波生成方法

标签:devices   公式   nal   device   lin   end   alt   cti   wave   

原文地址:https://www.cnblogs.com/zyy-summary/p/13330033.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!