No License

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video

Highlights from

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




30 Nov 2001 (Updated )

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

| Watch this File

File Information

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


This file inspired Circular Convolution.

MATLAB release MATLAB 5.3 (R11)
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (15)
19 Oct 2011 chewkaisheng

how can this related to the 3D sound ??

Comment only
26 Apr 2009 Trevor Boyd Smith

There is a much cleaner more intuitive implementation located at:

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?

Comment only
16 Sep 2008 Piyush Tarey

helped lab..hehe

16 Sep 2008 Pradeep Purohit

15 Jan 2008 Ory Eger

Works perfectly! Very useful.

27 Nov 2007 a singer

you can do this directly using:
in exactly one line.

01 Oct 2007 saurabh jain

Thanx man

14 Aug 2007 mohd rafi ramli

that is good

Comment only
15 Nov 2006 luis farinha

Very impoortante for me this script.

31 Aug 2005 Anand Rangarajan

It is handy.

06 Apr 2005 prabin gautam

very needed one

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.

04 Dec 2003 tom tom

Good job
Wont have to do my homework :)

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.
x=[x(:)' zeros(1,N*nrows-l)];
xo = sum( reshape(x,N,nrows)' );

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

Contact us