如何使用 MATLAB 在指定时间块的不同频率的正弦波中插入已知频率
How to insert a known frequency in a sinusoid with different frequencies at specified time chunk using MATLAB
我有一个 2000 毫秒长度和不同频率级别的正弦信号。我想在已知时间块(例如 600-800 毫秒)插入已知的 10Hz 频率。同时保持其余信号相同。知道如何使用 MATLAB 做到这一点吗?
这是我生成信号的方式
%range of possibles frequencies
FrequenciesRandon = [8:0.5:13];
%number of randon frequencies ??
nf = 10;
delta=0.005;
samples=200;
t=0:delta:delta*(samples-1);
ch2=[];
for j = 1 : nf
f=randsample(FrequenciesRandon,1); % get the randon frequencie % Sampling Frequency
signal = sin(2*pi*f*t)'; % Generate Sine Wave
ch2= [signal;ch2];
end
您可以将以下代码添加到您的代码中以执行您提出的示例并绘制它以进行检查:
fInsert = 10;
signalInsert = sin(2*pi*fInsert*t);
timeStart = 600;
timeFinish = 799;
ch2(timeStart:timeFinish) = signalInsert;
plot(ch2)
我有一个 2000 毫秒长度和不同频率级别的正弦信号。我想在已知时间块(例如 600-800 毫秒)插入已知的 10Hz 频率。同时保持其余信号相同。知道如何使用 MATLAB 做到这一点吗? 这是我生成信号的方式
%range of possibles frequencies
FrequenciesRandon = [8:0.5:13];
%number of randon frequencies ??
nf = 10;
delta=0.005;
samples=200;
t=0:delta:delta*(samples-1);
ch2=[];
for j = 1 : nf
f=randsample(FrequenciesRandon,1); % get the randon frequencie % Sampling Frequency
signal = sin(2*pi*f*t)'; % Generate Sine Wave
ch2= [signal;ch2];
end
您可以将以下代码添加到您的代码中以执行您提出的示例并绘制它以进行检查:
fInsert = 10;
signalInsert = sin(2*pi*fInsert*t);
timeStart = 600;
timeFinish = 799;
ch2(timeStart:timeFinish) = signalInsert;
plot(ch2)