📄 s1_9.m
字号:
%主要参见 周期信号的傅里叶级数分析 一节
clear all;
load('guitar.mat');
s1=ones(10,1);
rw=kron(s1,realwave);
T=2430/8000;
N=2430;
t = linspace(0,T-T/N,N)';
k1=-20; %确定系数的起止下标
k2=20;
k=[k1:k2];
omg1=2069; %由(7)得到的基频
FF=1/N*exp(-j*kron(omg1*k.',t.'))*rw; %通过基频的数值求各次谐波的系数
%即求指数形式傅里叶级数的系数 教材3.19式
D1=220*2^(5/12);
F=220*2^(8/12);
G=220*2^(10/12);
C=440*2^(3/12);
D=440*2^(5/12);
t2=[0:1/8000:1]';
t4=[0:1/8000:0.5]';
t8=[0:1/8000:0.25]';
%衰减包络 由于是吉他所以去掉了(2)中的二次方倒数
e2=exp(-t2*2.5);
e4=exp(-t4*5);
e8=exp(-t8*10);
%以对应的音符为基频,用得到的系数去生成各谐波 教材3.18式
so4=exp(j*kron(t4,C*k))*FF.*e4;
so8=exp(j*kron(t8,C*k))*FF.*e8;
la8=exp(j*kron(t8,D*k))*FF.*e8;
re2=exp(j*kron(t2,G*k))*FF.*e2;
do4=exp(j*kron(t4,F*k))*FF.*e4;
do8=exp(j*kron(t8,F*k))*FF.*e8;
la18=exp(j*kron(t8,D1*k))*FF.*e8;
M=3*abs([so4;so8;la8;re2;do4;do8;la18;re2]);
sound(M,8000);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -