Multiplication of sound and sinusoidal signal

7 ビュー (過去 30 日間)
ali okumus
ali okumus 2018 年 12 月 18 日
clc;
[a,Fs]=audioread("music.wav");
%sound(a,Fs);
si=size(a);
t=si/Fs;
t2=0:1/Fs:1;
f=15000;
signal=sin(2*pi*f*t2);
A=a';
K=A*signal;
When i try to multply i got an error . idont know what to do ?
  1 件のコメント
Jan
Jan 2018 年 12 月 18 日
If you get an error message and want the forum to help you, it is useful to post a copy of the complete message. It is easier to solve a problem than to guess, what the problem is.
Note that size(a) replies a vector. This is not a problem here, because t is not used anywhere.

サインインしてコメントする。

採用された回答

Omer Yasin Birey
Omer Yasin Birey 2018 年 12 月 18 日
編集済み: Omer Yasin Birey 2018 年 12 月 18 日
The problem here is you take the t2 until 1 second, when your sound lasts more (or less) than 1 second
t2=0:1/Fs:1;
However it must last until the duration not until 1. Therefore, change this line with
t2=0:1/Fs:duration;
And also I believe you want to do element wise multiplication so put a dot before the multiplication sign.
clc;
[a,Fs]=audioread('music.wav');
duration = length(a)./Fs;
si=size(a);
t=si/Fs;
t2=0:1/Fs:duration-1/Fs;
f=15000;
signal=sin(2*pi*f*t2);
A=a';
K=A.*signal;
  1 件のコメント
ali okumus
ali okumus 2018 年 12 月 18 日
Thank you very much .I really appreciated your help .it worked for me .

サインインしてコメントする。

その他の回答 (2 件)

Jan
Jan 2018 年 12 月 18 日
編集済み: Jan 2018 年 12 月 18 日
I guess, you want this:
[a, Fs] = audioread('music.wav');
len = size(a, 1);
t = (0:len - 1) / FS; % time in seconds
freq = 15000;
signal = sin(2 * pi * freq * t);
result = a .* signal.';
This multiplies even stereo signals, but you need >= R2016b for the auto-expanding. Please ask, if you use an older Matlab version.
  1 件のコメント
Oswaldo Colin Martinez
Oswaldo Colin Martinez 2020 年 11 月 26 日
Thankyou! After a few years, this post has saved me.

サインインしてコメントする。


ali okumus
ali okumus 2018 年 12 月 18 日
Dear friends
I really appreciate your concerns .i got my problem solved. thank you .

カテゴリ

Help Center および File ExchangeSpectral Measurements についてさらに検索

製品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by