matlab生成正弦波信号【频率 信号】

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

  • 0
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值