我怎么能总结两种不同的信号?
2视图(30天)
显示旧的评论
嗨!
我只是想玩2个或更多不同的信号在同一时间。如果我知道,我需要总结的信号,和播放它,但28矩阵维度不一致。谁能帮我解决这个问题吗?
谢谢提前
我试着用这个源代码:
清晰;
clc;
myFolder = ' C: \ \ Aron \ Samples \ proba用户”;
如果存在(myFolder,“dir”) ~ = 7
消息= sprintf (错误:以下文件夹不存在:\ n % s的,myFolder);
uiwait (warndlg(消息));
返回;
结束
filePattern = fullfile (myFolder * . wav);
wavFiles = dir (filePattern);
sampleArray =细胞(长度(wavFiles), 1);
Fs = 0(大小(sampleArray));
为k = 1:长度(wavFiles)
baseFileName = wavFiles (k) . name;
fullFileName = fullfile (myFolder baseFileName);
流(1,“现在阅读% s \ n”,fullFileName);
[sampleArray {k}, Fs (k)] = wavread (fullFileName);
结束
s = 1;
data_1 = (sampleArray{年代});
%的声音(data_1);
% %
L =长度(data_1);
NFFT = 2 ^ nextpow2 (L);% 2长度的y的力量
Y = fft (data_1 NFFT) / L;
f = f / 2 * linspace (0, 1, NFFT / 2 + 1);
%绘制单面振幅谱。
图(1);
情节(f, 2 * abs (Y (1: NFFT / 2 + 1)))
标题(“y (t)的单面振幅谱”)
包含(频率(赫兹))
ylabel (Y (f) | |)
% %
g = 9;
data_2 = (sampleArray {g});
L =长度(data_2);
NFFT = 2 ^ nextpow2 (L);% 2长度的y的力量
X = fft (data_2 NFFT) / L;
f = f / 2 * linspace (0, 1, NFFT / 2 + 1);
data_sum = Y + X;
data_sum_in_time =传输线(data_sum NFFT) * L;
声音(data_sum_in_time);
答案(2)
伊恩•
2013年8月21日
信号:10000样品,采样20 khz信号B: 5000样品,采样20 khz
一个(samples_offset + (1:5000)) = (samples_offset + (1:5000)) + B;%设置抵消打信号B同时开始,同时结束,或者在中间半场进攻。
信号:10000样品,采样20 khz信号B: 5000个样本,抽样10 khz
在这里你需要重新取样通过插值b。你能做到。——类似:
C (1:2:9999) = B;
C (2:2:9998) = (1: end-1) + B(2:结束)/ 2
C (10000) = B(结束);
2的评论
dpb
2013年8月26日
你怎么能做任何w /他们如果采样率不知道(或者至少嵌入式存储格式)?
前面给出这个问题的答案是;你必须重新取样一个或两个共同的时基以某种方式的选择。如果你不想使用信号处理工具箱
重新取样
函数,然后滚自己的…
沃尔特·罗伯森
2013年8月26日
Respampled =传输线(fft (SampleWithLowerFrequency),装天花板(长度(SampleWithLowerFrequency) * HigherFrequency / LowerFrequency))
现在一起玩SampleWithHigherFrequency并重新取样,HigherFrequency