The president of Spain's Catalonia region, Artur Mas, has signed a decree calling an independence referendum on 9  November, a vote the central government has said would violate the constitution and has promised to block.

The wealthy north-eastern region, which accounts for around a fifth of Spain's economy, has its own language and distinct culture and has long fought for self-rule.

A large majority of Catalans want to hold a referendum on independence, polls show.

The region's president, Artur Mas, signed the decree in a solemn ceremony in the Catalan government offices in Barcelona - the gothic Generalitat Palace - surrounded by his government and political allies in his campaign for independence.

"Catalonia wants to speak. Wants to be heard. Wants to vote. Now is the right time and we have the right legal framework to do so," Mas said in a speech in Catalan, Spanish and English immediately after the signing ceremony.

Madrid has vowed to block a referendum.

Yesterday, Spanish Deputy Prime Minister Soraya Saenz de Santamaria said the cabinet would meet on Monday to formalise the appeal against the vote.

The objection would then be handed to the Constitutional Court, suspending the vote until a final ruling on its legality, which could take years.

Spain's central government says a Catalan independence referendum would violate the country's 1978 constitution, drawn up on Spain's transition to democracy.

Political analysts expect the Catalan leader to call early elections after Madrid blocks the vote.

He would then use the elections as a way to give Catalans a chance to vote on independence from Spain.

Mas is under pressure from separatist coalition partners to go ahead with a referendum even if it is declared illegal, although he has himself said he would not do anything that is against the law.

Madrid's refusal to allow a vote has angered many Catalans, even those who favour continued union with Spain. Hundreds of thousands of people marched in the streets of Barcelona earlier this month for the right to hold a referendum.