# How Fourier Synthesis is performed using Matlab ?

148 ビュー (過去 30 日間)
ramdas patil 2015 年 5 月 18 日
コメント済み: Ahmed Mujtaba 2016 年 11 月 16 日
http://whatis.techtarget.com/definition/Fourier-synthesisFourier-synthesis I want to clear my concept about Fourier Synthesis using Matlab .But don't know how to do this.
So can anybody show me how Fourier Synthesis is performed using Matlab?

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

### 回答 (2 件)

Youssef Khmou 2015 年 5 月 18 日

Fourier synthesis is simple application of coefficients summation either numerically or symbolically, Fourier decomposition requires certain conditions of the input function, you can start with a simple example which is an approximation of a square wave of 2 Hz, using 11 terms :
Fs=150;
t=0:1/Fs:4-1/Fs;
f=2;
x=square(2*pi*f*t);
figure;
plot(t,x);
axis([0 1 -2 2]);
% Approximation with Fourier decomposition
y=0;
N=11;
for r=1:2:N
y=y+sin(2*pi*f*t*r)/r;
end
hold on;
plot(t,y,'r');
xlabel('t');
ylabel('magnitude');
hold off; #### 1 件のコメント

Ahmed Mujtaba 2016 年 11 月 16 日
Thanks.. Exactly what I was looking for. Simple and Compact.

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

Image Analyst 2015 年 5 月 18 日
There is nothing at that link. I don't know what Fourier Synthesis might be synthesizing. I don't think computing the Fourier spectrum of a signal or image is called "synthesizing", at least not by anyone I know, so I'm not really sure. You can synthesize things though, such as the attached demo where I synthesize clouds by manipulating the Fourier Spectrum. #### 4 件のコメント

Image Analyst 2015 年 5 月 19 日
You made your own script or function called fft2 and it looks like that is being used in preference to the real one. This is what you should see:
>> which fft2
C:\Program Files\MATLAB\R2015a\toolbox\matlab\datafun\fft2.m
Use a different name for your own version of it that you've placed in C:\Users\RK\Documents\MATLAB so that there is no conflict.
ramdas patil 2015 年 5 月 19 日
@Image Analyst sorry but when I run clouds.m file and click on "CONSTANT H ", I am still getting the following error
Attempted to access radius(346.5,615.5); index must be a positive integer or logical.
Error in noiseonf (line 59) radius(rows/2+1,columns/2+1) = 1; % .. avoid division by zero.
Error in clouds (line 53) grayImage = noiseonf(rows, columns, 1.7); % 1.7 is a good value.
>>
Image Analyst 2015 年 5 月 19 日
Make sure that you're passing in an even number for rows and columns.

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

### Community Treasure Hunt

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

Start Hunting!