No BSD License  

Highlights from
circonv

3.33333

3.3 | 12 ratings Rate this file 30 Downloads (last 30 days) File Size: 2.05 KB File ID: #1117

circonv

by Edward Brian Welch

 

30 Nov 2001 (Updated 04 Dec 2001)

C = CIRCONV(A,B,N) performs the N-point circular convolution of vectors A and B

| Watch this File

File Information
Description

CIRCONV N-point circular convolution

C = CIRCONV(A,B,N) performs the N-point circular convolution of vectors A and B. C is returned as a row vector. A and B must be vectors, but may be of different lengths. N must be a positive, non-zero integer. The results of CIRCONV will match that of CONV if N>=( length(A) + length(B) - 1). This is also the alias-free criterion for the circular convolution.

See also CONV

Acknowledgements
This submission has inspired the following:
Circular Convolution
MATLAB release MATLAB 5.3 (R11)
Tags for This File  
Everyone's Tags
Tags I've Applied
Add New Tags Please login to tag files.
Comments and Ratings (15)
04 Dec 2002 Andrew Singer

Why not just multiple the DFT's of the time-aliased signals? It would be MUCH faster...

function xo = talias(x,N)
%% function xo=talias(x,N)
%% time alias data vector x to length N for an N-point DFT.
l=length(x);
nrows=ceil(l/N);
x=[x(:)' zeros(1,N*nrows-l)];
xo = sum( reshape(x,N,nrows)' );

then Y = ifft(fft(talias(a,n)).*fft(talias(b,n)))

04 Dec 2003 tom tom

Good job
Wont have to do my homework :)

22 Mar 2004 Milos Komarcevic

A very handy function, but I believe the ctranspose ' needs to be changed to transpose .' throughout, otherwise you don't get what you expect when convolving complex vectors.

06 Apr 2005 prabin gautam

very needed one

31 Aug 2005 Anand Rangarajan

It is handy.

15 Nov 2006 luis farinha

Very impoortante for me this script.

14 Aug 2007 mohd rafi ramli

that is good

01 Oct 2007 saurabh jain

Thanx man

27 Nov 2007 a singer

you can do this directly using:
y=ifft(fft(a,n).*fft(b,n),n);
in exactly one line.

15 Jan 2008 Ory Eger

Works perfectly! Very useful.

16 Sep 2008 Pradeep Purohit  
16 Sep 2008 Piyush Tarey

helped me...in lab..hehe

06 Nov 2008 desi agarwal

it says i have to use vectors only

Z = [ 2 -1 0 -3; -3 2 -1 0; 0 -3 2 -1; -1 0 -3 2]
B = [ 1 -3-2*i 4 -3+2*i].' with N =4

it doesnt work?

26 Apr 2009 Trevor Boyd Smith

There is a much cleaner more intuitive implementation located at: http://www.mathworks.com/matlabcentral/fileexchange/13030

19 Oct 2011 chewkaisheng

how can this related to the 3D sound ??

Please login to add a comment or rating.
Tag Activity for this File
Tag Applied By Date/Time
dsp Edward Brian Welch 22 Oct 2008 06:39:38
circular Edward Brian Welch 22 Oct 2008 06:39:38
convolution Edward Brian Welch 22 Oct 2008 06:39:38
alias Edward Brian Welch 22 Oct 2008 06:39:38
general dsp Edward Brian Welch 22 Oct 2008 06:39:38
signal processing Edward Brian Welch 22 Oct 2008 06:39:38
circular Sowmya Raghu Prasad 28 Sep 2009 02:13:17
alias naveen kumar B T 16 Mar 2010 22:01:42

Contact us at files@mathworks.com