matlab生成正弦波信号【频率 信号】
使用matlab生成正弦波和变频率后的正弦波,记录程序。
输出的格式为:
[f sin]
[fs sin]
clear;
Fs = 1000; % 采样率(HZ)
T = 1/Fs; % 采样间隔(秒/S)
L = 1500; % 信号长度(毫秒/ms)
t = (0:L-1)*T; % 时间向量
% 两信号初始相位
phi = pi/3
phi1 = pi/3
% 两信号的幅度
a = 1
b = 1
% 频率扩展系数
flam = 1
% 产生的波形文件个数
for name = 1: 1: 100
sname = num2str(name)
Fsin = abs(randn(1)) *100 %原始信号频率
% times一个文件里变频率次数 频率范围 1-100
x= a*sin(2*pi* Fsin *t+phi); %频率分别为50Hz和120Hz的合成信号
%加噪
s = x + 2*randn(size(t)); %添加均值为0,方差为4的随机噪声
% 傅里叶变换
% %计算频域信息
% y = fft(s); %计算信号的傅里叶变换。
% P2 = abs(y/L); %取绝对值
% f = Fs*(0:L-1)/L;
% 写频率,原信号
x1 = [Fsin,x]
Fsin1 = abs(randn(1)) *100 %变频后的信号频率
ax= a*sin(2*pi* Fsin1 *t+phi); %频率分别为50Hz和120Hz的合成信号
y1 = [Fsin1,ax]
% 文件名
filename = ['F:\diffdataset\' sname '_' num2str(Fsin) '_' num2str(Fsin1) '.wavs']
dlmwrite( filename,x1)
% 写修改后的频率及信号
dlmwrite(filename,y1,'-append')
type(filename)
end